Eliminar repetidos

26/01/2005 - 20:21 por jose | Informe spam
Hola a todos.
Me han pasado una hoja con 2000 y pico registros (=filas) que tiene un
montón de ellos repetidos que he de eliminar. Acabo de empezar con VB y he
hecho un modesto procedimiento con lo que sé (o sea nada).

La tabla es así:
Id | Nombre |
34 | JUAN
35 | PEDRO
35 | PEDRO
35 | PEDRO
36 | JOSE
36 | JOSE

Pretendo que me busque por NOMBRE (no por Id) desde el principio de la
columna B hasta el final y me elimine los coincidentes por filas. Es decir,
si JUAN (B1) es igual que B2, que elimine la fila 2, y si es diferente que
pase a la siguiente, y así sucesivamente hasta que no encuentre nada en la
última celda de la columna B.

Ya digo que soy novatísimo, pero con muchas ganas por aprender, y he
intentado hacer esto (no os riaís, plis):
Sub Eliminar_repetidos ()
Range("B2").Select
If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
ActiveCell.Offset(1, 0).EntireRow.Select
Selection.Delete
Else ActiveCell.Offset(1, 0).Select
End If
End Sub

Claro, de la segunda fila no pasa. Sé que hay algo de LOOP o de DO WHILE...
para hacer bucles o algo parecido. He leído cosas pero no me aclaro mucho.
Quizás tampoco esa sea la solución que busco.
¿Alguien sería tan amable de echarme una manita? Gracias por vuestro tiempo

Preguntas similare

Leer las respuestas

#6 Manuel Romero
31/01/2005 - 19:07 | Informe spam
Es muy bueno que lo intentes hacer por macro para que ganes experiencia en
este campo, pero tambien lo puedes resolver por Datos / Filtro / Filtro
Avanzado / Solo Registros Unicos

"jose" escribió en el mensaje
news:%
Hola a todos.
Me han pasado una hoja con 2000 y pico registros (=filas) que tiene un
montón de ellos repetidos que he de eliminar. Acabo de empezar con VB y he
hecho un modesto procedimiento con lo que sé (o sea nada).

La tabla es así:
Id | Nombre |
34 | JUAN
35 | PEDRO
35 | PEDRO
35 | PEDRO
36 | JOSE
36 | JOSE

Pretendo que me busque por NOMBRE (no por Id) desde el principio de la
columna B hasta el final y me elimine los coincidentes por filas. Es


decir,
si JUAN (B1) es igual que B2, que elimine la fila 2, y si es diferente que
pase a la siguiente, y así sucesivamente hasta que no encuentre nada en la
última celda de la columna B.

Ya digo que soy novatísimo, pero con muchas ganas por aprender, y he
intentado hacer esto (no os riaís, plis):
Sub Eliminar_repetidos ()
Range("B2").Select
If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
ActiveCell.Offset(1, 0).EntireRow.Select
Selection.Delete
Else ActiveCell.Offset(1, 0).Select
End If
End Sub

Claro, de la segunda fila no pasa. Sé que hay algo de LOOP o de DO


WHILE...
para hacer bucles o algo parecido. He leído cosas pero no me aclaro mucho.
Quizás tampoco esa sea la solución que busco.
¿Alguien sería tan amable de echarme una manita? Gracias por vuestro


tiempo



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida