sep
26

Barrer datos repetidos en Excel

MSExcel | Escrito por Fiscalito | Enviar este Articulo Enviar este Articulo | Imprimir Post

excel logo Barrer datos repetidos en ExcelAlgunas veces mientras estamos trabajando con MS Excel suele pasar que necesitamos obtener un listado para poder enfrentarlo o compararlo contra otra base de datos y resulta que dentro de alguna de nuestras listas existen datos repetidos.

Para resolver esto les comparto una función que, en lo personal ocupo de manera muy frecuente ya que me permite barrer datos repetidos dentro de un listado o base de datos.

Para esto, lo primero que hay que hacer es ordenar la columna que contiene los datos que queremos revisar para determinar cuales estan repetidos.

barrer datos screen1 Barrer datos repetidos en Excel

Para llegar al Editor de VB tenemos 2 opciones tecleando simultaneamente Alt + F11 o bien, desde el Menu Herramientas seleccionas la opcion Macros y posteriormente la seccion Editor de Visual Basic.

barrer datos screen2 Barrer datos repetidos en Excel

El editor de Visual Basic se veria de la siguiente forma:

barrer datos screen3 Barrer datos repetidos en Excel
Click en la Imagen para verla en pantalla completa.

Dentro del editor de Visual Basic pegamos en el modulo de nuestra hoja PERSONAL.xls (o PERSONAL.xlsb si estamos usando MS Excel 2007) el siguiente codigo que nos permitira barrer los datos repetidos.

' Inicia Macro para Barrer Datos Repetidos '

Sub Repetidos()
' Cuenta y marca las celdas repetidas de una columna

Dim eldato1 As Variant
Dim eldato2 As Variant
Dim contador As Integer

msg = MsgBox("Esta macro marca y cuenta las celdas con datos iguales. " & Chr(13) & "¿Se procede a Marcar los repetidos?", vbYesNo + vbQuestion)
If msg = vbNo Then
GoTo fin
End If

contador = 1
inicio:
If Cells(ActiveCell.Row, ActiveCell.Column).Value = Empty Then GoTo fin
eldato1 = Cells(ActiveCell.Row, ActiveCell.Column).Value
eldato2 = Cells(ActiveCell.Row + 1, (ActiveCell.Column)).Value
If eldato1 = eldato2 Then GoTo IGUALES
If contador > 1 Then
SendKeys "{RIGHT}", True
Selection.Value = contador
SendKeys "{LEFT}", True
End If
SendKeys "{DOWN}", True
contador = 1
GoTo inicio

IGUALES:
contador = contador + 1
SendKeys "{RIGHT}", True
Selection.Value = "Dato Repetido"
SendKeys "{LEFT}", True
SendKeys "{DOWN}", True
GoTo inicio

fin:
End Sub

' Termina Macro para Barrer Datos Repetidos '

Una vez que ya tenemos la macro creada procedemos a ubicarnos en la primer celda de la lista de datos que ya habiamos ordenado y ejecutamos la macro, aparecera un mensaje que nos advertira que se van a marcar los datos repetidos y marcarlos, quedando mas o menos de la siguiente manera:

Warning: Barrer Datos

Despues de ejecutar la macro al lado derecho de cada una de las celdas evaluadas aparecera una leyenda indicando si el dato se encuentra repetido y al final de cada dato repetido aparecera un numero que indica cuantas veces esta repetido el dato.

barrer datos screen5 Barrer datos repetidos en Excel

Finalmente, lo que debemos hacer es ordenar nuestra lista de datos tomando como referencia la columna G (que es donde se encuentra la leyenda indicando si el dato esta repetido) y eliminar todas las filas que digan “Dato Repetido” y listo, tendremos nuestra lista finalmente depurada.

En el post el proceso se ve algo laborioso porque he preferido poner cada pantalla para efectos de no confundirlos pero al momento de ejecutarlo o verlo en accion no debera llevarnos mas de 2 minutos.

Temas relacionados:

  • Estuardoql
    Muchas gracias, una solución sencilla, eficiente y lo mejor.... funciona a la primera!!!
  • Willy
    Excelente, amigo , lo que estaba buscando, gracias, camina perfecto!
  • hectello
    Muchas gracias ! Me sirvio y me facilito el trabajo.
  • fiscalito
    Hola kateemont

    Deja revisar la macro y modificarla, espero no se me complique solo quiero entender bien lo que necesitas:

    Según entiendo lo que deseas es que la misma macro además de marcas los repetidos también quieres que los elimine de la hoja o entendi mal?

    Saludos
  • kateemont
    Hola !! ojala veas este comentario

    Me gusto mucho lo de la macro me sirvio muchisimo , empezando por que soy nueva en esto de las macros, ante todo te lo agradezco muchisimo...

    pero, si no es mucho pedir, ya que soy nueva en esto de la programacion, quisisera hacerte una pregunta : es posible que en vez de que salga "dato repetido", los datos repetidos se puedan eliminar de las celdas de tal manera que las celdas que digan dato repetido y su dato correspondiente queden vacias ?? , es decir , que solo quede             a                     3  , o sea el dato que se repitio con el numero de repeticiones y ya ......

    Te agradeceria muchisimo la ayudita muchs gracias !!

    haa!!! y explicas super bien ! felicitaciones....
  • fiscalito
    jomori27

    Muchas gracias por tu comentario ya que lo que busco realmente es que lo que publico les sea de utilidad y buscar ser lo mas claro posible.

    No olvides recomendar el blog y seguir participando

    Saludos
  • jomori27
    Realmente es una buena herramienta y muy bien explicada, porque es comun estos casos




    Los felicito por la explicacion y las imagenes.
     
blog comments powered by Disqus