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?

Preguntas similare

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).
Respuesta Responder a este mensaje
#2 JOAN BLANCH
10/03/2006 - 14:33 | Informe spam
no me fuciona

me puedes pasar un ejemplo en n un fichero excel a ?

gracias



"AnSanVal" escribió:

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).

Respuesta Responder a este mensaje
#3 AnSanVal
10/03/2006 - 17:15 | Informe spam
Hola Joan.
Te he enviado un ejemplo. Super sencillo, pero espero que te ayude.

Un saludo desde Tenerife (España).


"JOAN BLANCH" escribió:

no me fuciona

me puedes pasar un ejemplo en n un fichero excel a ?

gracias



"AnSanVal" escribió:

> 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).
>
Respuesta Responder a este mensaje
#4 JOAN BLANCH
10/03/2006 - 21:33 | Informe spam
ok gracias ahora si que funciona

saludos des de el Valle de aran (Lerida) es donde viene el rei a esquiar je
je je

"AnSanVal" escribió:

Hola Joan.
Te he enviado un ejemplo. Super sencillo, pero espero que te ayude.

Un saludo desde Tenerife (España).


"JOAN BLANCH" escribió:

> no me fuciona
>
> me puedes pasar un ejemplo en n un fichero excel a ?
>
> gracias
>
>
>
> "AnSanVal" escribió:
>
> > 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).
> >
Respuesta Responder a este mensaje
#5 Playa de Chilches - atención al cliente
11/03/2006 - 20:32 | Informe spam
necesitaria el mismo ejemplo ya que tengo una situación parecida.
Me lo podrias enviar a:

gracias anticipada
Jose de Valencia


"AnSanVal" escribió en el mensaje
news:
Hola Joan.
Te he enviado un ejemplo. Super sencillo, pero espero que te ayude.

Un saludo desde Tenerife (España).


"JOAN BLANCH" escribió:

no me fuciona

me puedes pasar un ejemplo en n un fichero excel a ?

gracias



"AnSanVal" escribió:

> 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).
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida