Macro vb excel copiar datos

Trabajo con una base de datos en excel con datos que varían en filas o en columnas, en la Hoja 1, con 16 columnas actualmente (fecha, fact, venta, cliente, direcc, código, cant, total, etc...) donde registro distintos datos a diario lo que genera nuevas filas con esta información, lo que busco es que cada registro nuevo de la hoja 1 que ingrese solo en determinadas columnas:( fecha, fact, venta, cliente y código), esta información se copie en una hoja especifica de otro libro excel, de esta manera otra persona pueda completar otros datos a partir de ellos. Los datos copiados puedan actualizarse si se modifica los datos de origen ingresados len hoja 1, que este evento acontezca al presionar un botón.

1 respuesta

Respuesta
2

Te anexo la macro, antes de ejecutarla tienes que completar algunos datos.

- Cambia "Hoja1" por el nombre de la hoja origen.

- Cambia "Libro4Destino" por el nombre del otro libro

- Cambia "C:\Documents and Settings\DAMOR\Mis documentos\" por la ruta en donde está el otro libro

- Cambia "final" por la hoja destino

- Cambia "A", "B", "C", "D", "F", por las columnas que necesitas copiar.

Estoy suponiendo que el registro "nuevo" se encuentra al final de la hoja origen.

También estoy asumiendo que el registro se va a copiar al final de la hoja destino.


Esta es la macro:

Sub copiar()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Hoja1")
    '
    ruta = "C:\Documents and Settings\DAMOR\Mis documentos\"
    Set l2 = Workbooks.Open(ruta & "Libro4Destino")
    Set h2 = l2.Sheets("final")
    '
    u1 = h1.Range("A" & Rows.Count).End(xlUp).Row
    u2 = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
    '
    cols = Array("A", "B", "C", "D", "F")
    For i = LBound(cols) To UBound(cols)
        h1.Cells(u1, cols(i)).Copy h2.Cells(u2, cols(i))
    Next
    '
    l2.Save
    l2.Close
    MsgBox "Datos copiados al libro destino", vbInformation, Date & " " & Time
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: copiar
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Realiza tus pruebas, si tienes dudas o algún detalle, envíame ejemplos reales de cómo están tus datos, cómo se llaman los libros, hojas, columnas, filas, etc.


Saludos. Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas