Jump to content
crengifo

Importar datos de dos libros al libro actual.

Recommended Posts

Buenos dias como podria incluir a el codigo que tengo la busqueda de otro libro para organizar datos en el libro abierto.

Adjunto lo que realizado 

Estare atento a sus comentarios.

Sub ImportarDatos()
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False

Dim wbLibroOrigen As Workbook
Dim wsHojaOrigen As Worksheet

Dim wbLibroDestino As Workbook
Dim wsHojaDestino As Worksheet

Dim ruta As String

ruta = "\\10.7.10.1\calidad\SEGUIMIENTO HORA-HORA\MOLIENDA DE CEMENTO Y DESPACHO.xlsx"

Set wbLibroDestino = Workbooks(ThisWorkbook.Name)
Set wsHojaDestino = wbLibroDestino.Worksheets("Datos")

Set wbLibroOrigen = Workbooks.Open(ruta)
Set wsHojaOrigen = wbLibroOrigen.Worksheets("CEMENTO")

uFila = wsHojaOrigen.Range("A" & Rows.Count).End(xlUp).Row

wsHojaOrigen.Range("A2:D2" & uFila).Copy

wsHojaDestino.Range("A2").PasteSpecial (xLPasteValues)

wsHojaOrigen.Range("H2:P2" & uFila).Copy

wsHojaDestino.Range("E2").PasteSpecial (xLPasteValues)

Workbooks(wbLibroOrigen.Name).Close savechanges:=False

Application.ScreenUpdating = True
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True
Application.CutCopyMode = False

End Sub

Share this post


Link to post
Share on other sites

@crengifo, en realidad no dices cuál es tu problema ni subes los archivos de ejemplo. Por el código que has puesto, estas líneas están mal:

uFila = wsHojaOrigen.Range("A" & Rows.Count).End(xlUp).Row

wsHojaOrigen.Range("A2:D2" & uFila).Copy

Si declaras uFila, no puedes poner un rango explícito y añadirle ese valor. Debes cambiarlo (en la otra línea "H2:P2" también)

uFila = wsHojaOrigen.Range("A" & Rows.Count).End(xlUp).Row

wsHojaOrigen.Range("A2:D" & uFila).Copy

 

Share this post


Link to post
Share on other sites

Te adjunto los siguientes reporte:

MOLIENDA DE CRUDO Y CLINKERIZACION: del cual obtengo los datos de las columnas que menciono en el codigo

DOSIFICADORES CRUDO: de este quiero incluir las columnas O y P 

Reporte aqui donde quiero pegar los datos

https://drive.google.com/file/d/1-6waawcdBe0YEk2wBkeAsVKkP4Wj4A-T/view?usp=sharing

Agradezco tu atencion

Claudio Rengifo

Share this post


Link to post
Share on other sites
Hace 5 horas, crengifo dijo:

El problema amigo es que me falta abrir otro libro y copiar datos de ese libro.

Pero vamos a ver, si ya tienes el código para abrir un libro y copiar, el siguiente paso, después de cerrar el libro origen, solo tienes que repetir el código para abrir el otro libro :huh:

No hay ningún otro método en VBA o Excel para hacerlo, abrir un archivo y copiar y cerrar, abrir el segundo copiar y cerrar, abrir el tercero, etc, etc, etc,... No entiendo tu problema (ahora menos)

Share this post


Link to post
Share on other sites
Hace 1 hora, crengifo dijo:

Gracias amigo, pero pensé que había que agregarle otras variables para poder abrir otro libro

Puedes usar variables para cada libro, por ejemplo:

Dim wbLibroOrigen_1 as WorkBook

O reutilizar las que ya tienes, eliminándolas de memoria y volviéndolas a declarar

Set wbLibroOrigen = Nothing
Set wsHojaOrigen = Nothing

Set wbLibroOrigen = Workbooks.Open(nueva_ruta)
Set wsHojaOrigen = wbLibroOrigen.Worksheets("LIBRO 2")

 

Share this post


Link to post
Share on other sites

Buenos dias compañero

Otra consulta es posible hacer que la macro se ejecute solo si en los libros origen hay nuevos datos si no es asi que no se ejecute

Estare atento a tus excelentes comentarios.

Claudio

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png