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 están repetidos.

Para llegar al Editor de VB tenemos 2 opciones tecleando simultáneamente Alt + F11 o bien, desde el Menú Herramientas seleccionas la opción Macros y posteriormente la sección Editor de Visual Basic.

Editor Visual Basic

El editor de Visual Basic se vería de la siguiente forma:

Visual Basic

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 código que nos permitirá 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 habíamos ordenado y ejecutamos la macro, aparecerá un mensaje que nos advertirá que se van a marcar los datos repetidos y marcarlos, quedando mas o menos de la siguiente manera:

Warning: Barrer Datos

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

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 acción no deberá llevarnos mas de 2 minutos.

José de Jesús Pérez Lara
Sígueme

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *