Visual Basic para Aplicaciones - Importar datos de excel a otro excel con VB

Life is soft - evento anual de software empresarial
 
Vista:

Importar datos de excel a otro excel con VB

Publicado por Nicolas (2 intervenciones) el 18/11/2011 13:58:01
Hola a todos.

Tengo el siguiente codigo:
Sub macro()

Dim XL As New Excel.Application
XL.Workbooks.Open "c:\archivo.xlsx", , True
XL.Visible = True
XL.WindowState = xlMaximized

End Sub

Este codigo abre y deja abierto el archivo.xlsx, pero lo que quiero hacer es copiar todos los datos dentro de un rango de ese archivo excel y pegarlos en otro archivo excel donde esta corriendo la macro.
Espero ser claro, muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Importar datos de excel a otro excel con VB

Publicado por Antoni Masana (498 intervenciones) el 23/11/2011 12:07:31
Estracto para copiar de un libro a otro. Entre llaves { } se debe poner los datos que correspondan

1
2
3
4
5
6
7
8
9
10
11
Windows( { File_Origen } ).Activate
    Sheets( { Hoja_Origen } ).Select
    Range( { Rango_Origen } ).Select
    Selection.Copy
 
    Windows( { File_Destino } ).Activate
    Sheets( { Hoja_Destino } ).Select
    Range( { Celda_Destino } ).Select
    ActiveSheet.Paste
 
    Application.CutCopyMode = False


Lo mismo con un ejemplo: (La última linea es para que no pregunte si lo guardar en el portapapeles.)

1
2
3
4
5
6
7
8
9
10
11
Windows("archivo.xlsx").Activate
    Sheets("Hoja1").Select
    Range("A1:F9").Select
    Selection.Copy
 
    Windows("Destino.xlsx").Activate
    Sheets("Hoja2").Select
    Range("A1").Select
    ActiveSheet.Paste
 
    Application.CutCopyMode = False


Este codigo es para obtener el nombre del libro sin la ruta

c_Nombre valdria = "c:\Documetos\archivo.xlsx"
c_Estadis valdria = "archivo.xlsx"

1
2
3
4
5
c_Nombre = ActiveSheet.Parent.FullName
 
    For a = Len(c_Nombre) To 1 Step -1
        If Mid$(c_Nombre, a, 1) = "\" Then c_Estadis = Mid$(c_Nombre, a + 1): Exit For
    Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar datos de excel a otro excel con VB

Publicado por Nicolas (2 intervenciones) el 23/11/2011 13:07:30
Gracias Antoni!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar datos de excel a otro excel con VB

Publicado por Luz Elena (1 intervención) el 01/08/2012 21:28:37
Antoni, como podría utilizar éste mismo código si el nombre del archivo de destino es variable?

Gracias por tu ayuda!

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar datos de excel a otro excel con VB

Publicado por Alex (1 intervención) el 23/08/2012 18:19:33
al realizar la macro me da erro de ejecucion '9' en la siguiente linea del codigo

Windows("Jefferson.xlsx").Activate

me podrian colaborar en la solucion del problema ese es el archivo de donde quiero extraer los datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar datos de excel a otro excel con VB

Publicado por Bridaroga (1 intervención) el 18/09/2012 17:31:47
Intenta usando las llaves { } en vez de las comillas " ", es decir, a:

Windows("Jefferson.xlsx").Activate

cámbiale las comillas a llaves, así:

Windows({Jefferson.xlsx}).Activate

o también puedes intentar hacerlo con las comillas y llaves así:

Windows({"Jefferson.xlsx"}).Activate

No sé mucho de VB, pero al inicio del tema el aclara que hay que hacerlo con llaves. No pierdes nada con intentar.

Espero que te sirva de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar datos de excel a otro excel con VB

Publicado por Kevin Garcia (1 intervención) el 07/01/2015 17:37:24
El problema puede deberse a que si ya guardaste el archivo como excel para macros, la extencion no es xlsx, si no xlsm, yo lo cambie y fue cuando funciono.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar datos de excel a otro excel con VB

Publicado por Claudia Ospina (1 intervención) el 05/06/2013 23:02:21
Tienes que tener abierto el archivo de donde quieres extraer los datos, en tu caso Jefferson.xlsx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar datos de excel a otro excel con VB

Publicado por JORGE (1 intervención) el 10/09/2012 00:30:52
buenas a mi también me interesa mucho aprender sobre el tema de importar datos pues manejo un muy alto volumen de archivos en excel veo muy interesante la formula de importacion pero me crea una duda por ejemplo si los nombres de los archivos varian,
¿como hacer para que la misma función importe los datos? espero que vuestro conocimiento siga creciendo para que lo compartan con personas que no tenemos mucha idea del tema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar datos de excel a otro excel con VB

Publicado por Álvaro Andrés Peralta Parra (3 intervenciones) el 07/09/2017 01:02:52
Tengo la misma duda que Jorge:

Si los nombres de los archivos varían ¿Cómo hacer para que la misma función importe los datos?

De antemano, mil gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar datos de excel a otro excel con VB

Publicado por Álvaro Andrés Peralta Parra (3 intervenciones) el 07/09/2017 01:06:07
Tengo una duda parecida a la de Luz Elena:

Si los nombres de los archivos de donde se copian los datos son variable ¿Cómo hacer para que la misma función importe los datos?

De antemano, mil gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar datos de excel a otro excel con VB

Publicado por Álvaro Andrés Peralta Parra (3 intervenciones) el 07/09/2017 01:12:06
Genial aporte Antoni Masana!!

Tengo una duda: Si los nombres de los archivos de donde se copian los datos, son variables ¿Cómo hacer para que la misma función importe los datos?

De antemano, mil gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar