Pasar datos de hoja1 a base hoja2

Tengo datos en hoja1 4 columnas partiendo de C8 a L8 quiero que se copie este rango en hoja2 desde A2 y después vuelva a hoja1 y baje una línea copie rango C9 a L9 en hoja2 baje una línea y pegue el datos en hoja2, esto hasta que en la hoja 1 encuentre la celda vacía.

1 Respuesta

Respuesta
2

H o  l a:

Pon la siguiente macro en un módulo

Sub CopiarDatos()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
    If u2 < 2 Then u2 = 2
    h2.Range("A2:J" & u2).Clear
    fila = 8
    Do While Cells(fila, "C") <> ""
        fila = fila + 1
    Loop
    fila = fila - 1
    h1.Range("C8:L" & fila).Copy
    h2.Range("A2").PasteSpecial xlValues
    h2.Range("A2").PasteSpecial xlFormats
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
    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: CopiarDatos
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

':)
':)

Funciona, pero se me olvido que cada vez que tenga nuevos datos en la hoja1 estos se deben pegar en hoja2 abajo del dato ya existe, es decir posicionarse el la celda vacía bajo los datos existentes, y así se guardara la información como una base de datos de los movimientos realizados

Te anexo la macro actualizada

Sub CopiarDatos()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    u2 = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
    fila = 8
    Do While h1.Cells(fila, "C") <> ""
        fila = fila + 1
    Loop
    fila = fila - 1
    h1.Range("C8:L" & fila).Copy
    h2.Range("A" & u2).PasteSpecial xlValues
    h2.Range("A" & u2).PasteSpecial xlFormats
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
    MsgBox "Fin"
End Sub

':)
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas