Te anexo una macro.
Antes de ejecutar la macro debes actualizar los nombres de tus libros y de tus hojas en esta parte de la macro:
Set l0 = ThisWorkbook 'libro con la macro
Set l1 = Workbooks("Libro_1.xlsx") 'libro 1 debe estar abierto
Set l2 = Workbooks("Libro_2.xlsx") 'libro 2 debe estar abierto
'
Set h0 = l0.Sheets("hoja_destino") 'hoja destino dentro del libro con la macro
Set h1 = l1.Sheets("Hoja1") 'hoja origen del libro1
Set h2 = l2.Sheets("Hoja1") 'hoja origen del libro2
fini = 2 'fila inicial de las hojas origen
En un libro debes crear una hoja llamada "hoja_destino", en ese mismo libro debes poner la macro:
Sub Nuevo_Libro()
'Por Dante Amor
Application.ScreenUpdating = False
Set l0 = ThisWorkbook 'libro con la macro
Set l1 = Workbooks("Libro_1.xlsx") 'libro 1 debe estar abierto
Set l2 = Workbooks("Libro_2.xlsx") 'libro 2 debe estar abierto
'
Set h0 = l0.Sheets("hoja_destino") 'hoja destino dentro del libro con la macro
Set h1 = l1.Sheets("Hoja1") 'hoja origen del libro1
Set h2 = l2.Sheets("Hoja1") 'hoja origen del libro2
fini = 2 'fila inicial de las hojas origen
'
h0.Cells.ClearContents
u1 = h1.Range("A" & Rows.Count).End(xlUp).Row
u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
h1.Rows(fini & ":" & u1).Copy h0.Range("A2")
u0 = h0.Range("A" & Rows.Count).End(xlUp).Row + 1
h2.Rows(fini & ":" & u2).Copy h0.Range("A" & u0)
'
uc = h1.UsedRange.Columns(h1.UsedRange.Columns.Count).Column + 2
u0 = h0.Range("A" & Rows.Count).End(xlUp).Row
With h0.Range(h0.Cells(2, uc), h0.Cells(u0, uc))
.FormulaR1C1 = "=RC1&RC2&RC3&RC4"
.Value = .Value
End With
'
With h0.Range(h0.Cells(2, uc + 1), h0.Cells(u0, uc + 1))
.FormulaR1C1 = "=COUNTIF(R2C" & uc & ":R" & u0 & "C" & uc & ",RC[-1])"
End With
h0.Range("A1", h0.Cells(u0, uc + 1)).AutoFilter Field:=uc + 1, Criteria1:="1"
Set l3 = Workbooks.Add
Set h3 = l3.Sheets(1)
h0.Range("A1", h0.Cells(u0, uc - 2)).Copy h3.Range("A1")
'
MsgBox "Fin"
End Sub
Importante:
Los dos libros a combinar deberán estar abiertos.
Sigue las Instrucciones para un botón y ejecutar la macro
- Abre tu libro de Excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la macro
- Ahora para crear un botón, puedes hacer lo siguiente:
- Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
- Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
- 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”
- Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Nuevo_Libro
- Aceptar.
- Para ejecutarla dale click a la imagen.
Al finalizar la macro te creará un nuevo libro con los registros únicos de ambos libros.
'.[Sal u dos. Dante Amor. No olvides valorar la respuesta.
'.[Avísame cualquier duda