registros duplicados en dos hojas

10/03/2006 - 10:55 por JOAN BLANCH | Informe spam
hola

tengo dos hojas en las cuales hay 1000 registros en cada una

lo que no puedo conseguir es:

en una tercera que me salgan los registros duplicados en la hoja 1 y 2

en la cuarta hoja que me salgan los registros que estan en la primera pero
que no estan en la segunda

i en la quinta hoja al reves de la cuarta, que me salgan los registros que
tiene la 2 pero que no tiene la 1

alguien sabe?
 

Leer las respuestas

#1 AnSanVal
10/03/2006 - 13:03 | Informe spam
Hola JOAN.
Una manera de hacerlo sería con una columna auxiliar (en este ejemplo
columna B), con la fórmula:
=SI(ESERROR(COINCIDIR(A2;Hoja2!$A$2:$A$100;0));0;1) ' (en cada fila con
datos de la hoja1).
=SI(ESERROR(COINCIDIR(A2;Hoja1!$A$2:$A$100;0));0;1) ' (en cada fila con
datos de la hoja2).

Luego copias/pegas el siguiente código en un módulo VBA, el cual (al
ejecutarlo), hace lo que pides.

Sub SeparaRegistros()

Dim fila1 As Integer
Dim fila2 As Integer

' Copia los repetidos a hoja 3.
fila1 = 2 ' Hoja1.
fila2 = 2 ' Hoja3.
Do While Sheets(1).Cells(fila1, 1).Value > ""
If Sheets(1).Cells(fila1, 2) = 1 Then
Sheets(3).Cells(fila2, 1) = Sheets(1).Cells(fila1, 1)
fila2 = fila2 + 1
End If
fila1 = fila1 + 1
Loop

' Copia los no repetidos de hoja 1, a hoja 4.
fila1 = 2 ' Hoja1.
fila2 = 2 ' Hoja4.
Do While Sheets(1).Cells(fila1, 1) > ""
If Sheets(1).Cells(fila1, 2) = 0 Then
Sheets(4).Cells(fila2, 1) = Sheets(1).Cells(fila1, 1)
fila2 = fila2 + 1
End If
fila1 = fila1 + 1
Loop

' Copia los no repetidos de hoja 2, a hoja 5.
fila1 = 2 ' Hoja2.
fila2 = 2 ' Hoja5.
Do While Sheets(2).Cells(fila1, 1) > ""
If Sheets(2).Cells(fila1, 2) = 0 Then
Sheets(5).Cells(fila2, 1) = Sheets(2).Cells(fila1, 1)
fila2 = fila2 + 1
End If
fila1 = fila1 + 1
Loop

End Sub

Espero que te sirva de ayuda.
Un saludo desde Tenerife (España).

Preguntas similares