Traer información de diferentes celdas(Libro1) a otro Libro(2) para llenar celdas diferentes en el ultima fila vacía de unaHoja

Yo aun soy nueva en esto de las macros y necesito saber como traer la información de determinadas celdas (De un libro, el cual VARIA según el que se requiera vaciar, pero todos se encuentran dentro de la misma carpeta y serian los mismo valores los que se extraerían) y se vaciarían en otro Libro (Nuevo) en celdas especificas. Pero ya que esto se va a ir llenando consecutivamente en las mismas columnas, requiero que comience a copiar a partir de la ultima fila vacía.

1 Respuesta

Respuesta
2

Te anexo la macro para extraer celdas de otros libros y ponerlas en un nuevo libro.

Pon la siguiente macro en un libro nuevo.

Sub ExtraerDatos()
'Toma datos de varios libros y los pone en un nuevo libro
'Por.Dante Amor
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set l1 = ThisWorkbook   'libro con la macro
    '
    ruta = "C:\trabajo\libros\"     'carpeta de libros
    If Dir(ruta, vbDirectory) = "" Then
        MsgBox "No existe la carpeta"
        Exit Sub
    End If
    If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
    archi = Dir(ruta & "*.xls*")
    Set l3 = Workbooks.Add  'libro nuevo destino
    Set h3 = l3.Sheets(1)   'hoja del libro nuevo destino
    Do While archi <> ""
        Workbooks.Open ruta & archi
        Set l2 = ActiveWorkbook
        Set h2 = l2.Sheets(1)
        u1 = h3.Range("A" & Rows.Count).End(xlUp).Row + 1
        'CELDAS que quieres extraer
        h3.Cells(u1, "A").Value = h2.Range("A5")
        h3.Cells(u1, "B").Value = h2.Range("A6")
        h3.Cells(u1, "C").Value = h2.Range("A7")
        h3.Cells(u1, "D").Value = h2.Range("B8")
        h3.Cells(u1, "E").Value = h2.Range("F3")
        l2.Close
        archi = Dir()
    Loop
    l3.SaveAs Filename:=l1.Path & "Nuevo.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub



Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: ExtraerDatos
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Antes de ejecutar la macro, cambia en esta línea de la macro

ruta = "C:\trabajo\libros\"     'carpeta de libros

"C:\trabajo\libros\" por el nombre de tu carpeta donde se encuentran los libros.


Lo siguiente que debes hacer es poner en las siguientes líneas las celdas que quieras obtener y en cuál columna la quieres poner. Yo te puse 5 ejemplos

 'CELDAS que quieres extraer
        h3.Cells(u1, "A").Value = h2.Range("A5")
        h3.Cells(u1, "B").Value = h2.Range("A6")
        h3.Cells(u1, "C").Value = h2.Range("A7")
        h3.Cells(u1, "D").Value = h2.Range("B8")
        H3. Cells(u1, "E").Value = h2. Range("F3")

La celda A5 de cada libro, la pondré en la columna A del nuevo libro.

La celda A6 de cada libro, la pondré en la columna B del nuevo libro.

Y así con las otras celdas del ejemplo.


Avísame cualquier duda.

.

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas