Copiar columnas de un archivo a otro.

27/02/2007 - 20:38 por ~ jose ~ | Informe spam
Hola, que tal?
Quisiera saber como puedo copiar las columnas B:Q de la hoja 1 y las
columnas A:F de la hoja 2 a un archivo existente pero sin abrir el
archivo de destino. Digo sin abrir porque al abrirlo se abre un
formulario (entre otras cosas), quiazas abrirlo en segundo plano...
Lo único si se podria abrir el archivo de destino deshabilitando las
macros..., no se si se podrá.

Por lanzar una idea quizas se podria hacer con FreeFile, lo que pasa
es que no se como.

Ah! no he dicho nada pero quisiera hacer TODO mediante código, osea
que con un archivo abierto (me dá igual si tiene que ser el de origen
o el de destino), que él solo haga todo, abir el archivo si es
necesario, cerrarlo si lo ha abierto, etc...

Venga, gracias y un saludo,
jose

Preguntas similare

Leer las respuestas

#1 Luis Gaona
27/02/2007 - 21:37 | Informe spam
Que tal José, mira no tengo el código a mano, pero investigando otras
cosas he visto algo como lo que tu necesitas, primeramente debes hacer
una conexión (como si fuera a una base de datos acces) pero a una hoja
excel, para esto VBA tiene un objeto conexión especial, de esta manera
puedes leer y escribir en un archivo sin abrirlo.

http://www.xltoday.net/ aqui hay algo como lo que te menciono
Respuesta Responder a este mensaje
#2 ~ jose ~
27/02/2007 - 22:57 | Informe spam
Hola, sobre lo que me comentas, es de esta pág?
http://www.xltoday.net/vba_ejemplos...aexcel.asp

Uff, con este código no me entero de nada!!! no creo que sepa
modificarlo para un excel
o quizas te refieres a otro ejemplo?

Un saludo
jose
Respuesta Responder a este mensaje
#3 KL
27/02/2007 - 23:01 | Informe spam
Hola Jose,


1) Puedes inhabilitar los macros de apertura usando la propiedad ScreenUpdating del objeto Application
ej.:
Application.ScreenUpdating=False
Workbooks.Open "C:\Libro1.xls"
Application.ScreenUpdating=True

2) Si tu version de Excel es 2002(XP) o posterior entonces tambien tienes la opcion de usar la propiedad AutomationSecurity del
objeto Application
ej.:
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Workbooks.Open "c:\Libro1.xls"
Application.AutomationSecurity = secAutomation

3) Una alternativa es usando ADO:
http://www.erlandsendata.no/english...t=envbadac
http://www.rondebruin.nl/ado.htm

4) Otra alternativa es usando formulas.

Aqui tendras ejemplos de codigo que copia rangos para todos los gustos: http://www.rondebruin.nl/tips.htm

Saludos,
KL

"~ jose ~" wrote in message news:
Hola, que tal?
Quisiera saber como puedo copiar las columnas B:Q de la hoja 1 y las
columnas A:F de la hoja 2 a un archivo existente pero sin abrir el
archivo de destino. Digo sin abrir porque al abrirlo se abre un
formulario (entre otras cosas), quiazas abrirlo en segundo plano...
Lo único si se podria abrir el archivo de destino deshabilitando las
macros..., no se si se podrá.

Por lanzar una idea quizas se podria hacer con FreeFile, lo que pasa
es que no se como.

Ah! no he dicho nada pero quisiera hacer TODO mediante código, osea
que con un archivo abierto (me dá igual si tiene que ser el de origen
o el de destino), que él solo haga todo, abir el archivo si es
necesario, cerrarlo si lo ha abierto, etc...

Venga, gracias y un saludo,
jose
Respuesta Responder a este mensaje
#4 ~ jose ~
28/02/2007 - 01:22 | Informe spam
Hola que tal?

1) Puedes inhabilitar los macros de apertura usando la propiedad ScreenUpdating del objeto Application
ej.:
Application.ScreenUpdating=False
Workbooks.Open "C:\Libro1.xls"
Application.ScreenUpdating=True



Este ejemplo me abre el archivo pero se me ejecutan las macros
mostrando el formulario

2) Si tu version de Excel es 2002(XP) o posterior entonces tambien tienes la opcion de usar la propiedad >AutomationSecurity del objeto Application ej.:
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Workbooks.Open "c:\Libro1.xls"
Application.AutomationSecurity = secAutomation



Este ejemplo me abre el archivo SIN mostrar el formulario pero
justamente después de abrirlo se termina de ejecutar el código, no
sigue dado que he puesto mas lineas debajo de la que abre el archivo.
Tampoco se si se ejecuta la linea:
Application.AutomationSecurity = secAutomation


Será malo que no se ejecute dicha linea para dejar la opción de la
aplicación como estaba?

Sobre las páginas que propones se me hace un poco cuesta arriba ya que
no se ingles y con un traductor pues ando regular. Si crees que con
los ejemplos de arriba no sirven me podrías decir algún código en
concreto de las direcciones web para que me centre en él o ellos y así
no tener que mirar todos (o casi todos)?

Venga! un saludo, vale?
jose


Hola, que tal?
Quisiera saber como puedo copiar las columnas B:Q de la hoja 1 y las
columnas A:F de la hoja 2 a un archivo existente pero sin abrir el
archivo de destino. Digo sin abrir porque al abrirlo se abre un
formulario (entre otras cosas), quiazas abrirlo en segundo plano...
Lo único si se podria abrir el archivo de destino deshabilitando las
macros..., no se si se podrá.

Por lanzar una idea quizas se podria hacer con FreeFile, lo que pasa
es que no se como.

Ah! no he dicho nada pero quisiera hacer TODO mediante código, osea
que con un archivo abierto (me dá igual si tiene que ser el de origen
o el de destino), que él solo haga todo, abir el archivo si es
necesario, cerrarlo si lo ha abierto, etc...

Venga, gracias y un saludo,
jose
Respuesta Responder a este mensaje
#5 KL
28/02/2007 - 07:44 | Informe spam
Hola jose,

Puedes publicar
a) el codigo que se usa para abrir los formularios en el libro que abres
b) el codigo que usas para abrir el libro de arriba que usa las soluciones que te he ofrecido, y que dices que te falla

Saludos,
KL


"~ jose ~" wrote in message news:
Hola que tal?

1) Puedes inhabilitar los macros de apertura usando la propiedad ScreenUpdating del objeto Application
ej.:
Application.ScreenUpdating=False
Workbooks.Open "C:\Libro1.xls"
Application.ScreenUpdating=True



Este ejemplo me abre el archivo pero se me ejecutan las macros
mostrando el formulario

2) Si tu version de Excel es 2002(XP) o posterior entonces tambien tienes la opcion de usar la propiedad >AutomationSecurity
del objeto Application ej.:
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Workbooks.Open "c:\Libro1.xls"
Application.AutomationSecurity = secAutomation



Este ejemplo me abre el archivo SIN mostrar el formulario pero
justamente después de abrirlo se termina de ejecutar el código, no
sigue dado que he puesto mas lineas debajo de la que abre el archivo.
Tampoco se si se ejecuta la linea:
Application.AutomationSecurity = secAutomation


Será malo que no se ejecute dicha linea para dejar la opción de la
aplicación como estaba?

Sobre las páginas que propones se me hace un poco cuesta arriba ya que
no se ingles y con un traductor pues ando regular. Si crees que con
los ejemplos de arriba no sirven me podrías decir algún código en
concreto de las direcciones web para que me centre en él o ellos y así
no tener que mirar todos (o casi todos)?

Venga! un saludo, vale?
jose


Hola, que tal?
Quisiera saber como puedo copiar las columnas B:Q de la hoja 1 y las
columnas A:F de la hoja 2 a un archivo existente pero sin abrir el
archivo de destino. Digo sin abrir porque al abrirlo se abre un
formulario (entre otras cosas), quiazas abrirlo en segundo plano...
Lo único si se podria abrir el archivo de destino deshabilitando las
macros..., no se si se podrá.

Por lanzar una idea quizas se podria hacer con FreeFile, lo que pasa
es que no se como.

Ah! no he dicho nada pero quisiera hacer TODO mediante código, osea
que con un archivo abierto (me dá igual si tiene que ser el de origen
o el de destino), que él solo haga todo, abir el archivo si es
necesario, cerrarlo si lo ha abierto, etc...

Venga, gracias y un saludo,
jose
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida