Comparar rango hoja 1 Vs hoja 2 y resultado otra hoja

Estimado experto, espero que te encuentres bien, me gustaría que me ayudaras con un codigo de macro para comparar la hoja 1 contra la hoja 2 tengo varias filas que empieza de la 2 y 4 columnas, si coincide la la fila de la hoja1 con el de la hoja2, cortar el rango de datos de ambas hojas y pasarlo a la hoja llamada dif

Por ejm

Tengo en la hoja 1 varias filas con datos
A B C D
Trab1 10 5 30
Trab2 45 48 36
Trab3 10 2.5 1.84
Trab4 54 0 1.25
Y en la hoja 2
A B C D
Trab1 10 5 30
Trab2 45 48 .52 36
Trab3 10 2.5 21.54
Y en hoja Dif
Trab1 10 5 30
Trab1 10 5 30
Trab2 45 48 36
Trab2 45 48 .52 36
Trab3 10 2.5 1.84
Trab3 10 2.5 21.54

mi version de excel que uso es 2003

Agradezco de antemano tu ayuda y tiempo invertido

Saludos

1 Respuesta

Respuesta
1

Te mando una macro, considerando, lo siguiente:

1. Se compara el valor de la misma fila de la Hoja1 y de la Hoja2.
2. El valor que se compara es el primero de la fila (en el ejemplo no dice cuál comparar).
3. Las hojas se deben llamar “Hoja1”, “Hoja2” y “dif”.
'***macro

Sub comparafilas()
Worksheets("dif").Cells.Clear
Worksheets("Hoja1").Select
ufilaorigen = Range("A" & Rows.Count).End(xlUp).Row
'Por.Dam
j = 2
For i = 2 To ufilaorigen
Celda1 = Worksheets("Hoja1").Cells(i, 1)
celda2 = Worksheets("Hoja2").Cells(i, 1)
If Celda1 = celda2 Then
'Encontró el mismo valor
fila1 = "A" & i & ":" & "D" & i
'Range(Cells(i, 1), Cells(i, 4)).Select
Application.Goto ActiveWorkbook.Sheets("Hoja1").Range(fila1)
Selection.Copy Destination:=Worksheets("dif").Cells(j, 1)
j = j + 1
fila2 = "A" & i & ":" & "D" & i
Application.Goto ActiveWorkbook.Sheets("Hoja2").Range(fila2)
Selection.Copy Destination:=Worksheets("dif").Cells(j, 1)
j = j + 2
End If
Next
End Sub
'***macro
Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas