Cómo buscar duplicados en Excel Visual Basic (En 6 Pasos)

Por shawn mcclain
Cómo buscar duplicados en Excel Visual Basic (En 6 Pasos)
Jupiterimages/Creatas/Getty Images

Microsoft Excel 2010 puede resaltar los valores duplicados mediante un comando de formato condicional preestablecido, pero si necesitas encontrar los duplicados mediante una macro, puedes utilizar Visual Basic para Aplicaciones (VBA), que se basa en Microsoft Excel. Si bien VBA no tiene una función que encuentre duplicados, puedes aprovechar la función COUNTIF para averiguar qué celdas contienen información duplicada.

Paso 1

Abre el archivo de Microsoft Excel 2010 que contiene los datos en los que deseas comprobar si hay duplicados. Cuando la hoja de cálculo se abra, pulsa la tecla "Alt" y "F11" para cargar la consola VBA.

Paso 2

Haz clic en la hoja de cálculo en la parte izquierda de la pantalla de VBA. Mueve el ratón sobre "Insertar" y elige la opción "Módulo". Haz doble clic en el módulo nuevo que aparece unas líneas por debajo de la hoja de cálculo.

Paso 3

Coloca el cursor en el espacio en blanco en el lado derecho de la pantalla. Escribe "Sub Dupecheck()" y pulsa Intro. VBA ingresará automáticamente el comando "End Sub" por ti.

Paso 4

Coloca el cursor en la línea entre los comandos "Sub" y "End Sub". Introduce las siguientes líneas de código:

Dim x As Long Dim endrow As Long endrow = Range("A50000").End(xlUp).Row

Este código crea dos variables, "EndRow" y "x", y luego establece el valor de "EndRow". Este código buscará a través de 50 mil líneas en una sola columna, pero si necesitas buscar entre más líneas, aumenta de 50 mil a cualquier número que necesites. Este código también está diseñado para buscar en la columna "A", pero sólo tienes que cambiar "A" a cualquier letra de la columna que necesites.

Paso 5

Coloca el cursor en la línea siguiente y escribe el siguiente código:

For x = endrow To 1 Step -1 If Application.WorksheetFunction.CountIf(Range("A1:A" & x), Range("A" & x).Text) > 1 Then Range("A" & x).Interior.Color = RGB(200, 160, 35) End If Next x

Este es el corazón del código que buscará a través de cada celda y determinará si una celda idéntica existe por encima de ella. Si encuentra un duplicado, tornará el fondo de la celda de un color amarillo. Puedes cambiar todas las instancias de "A" si estás trabajando en una columna diferente. También puedes cambiar los tres números después de "Interior.color" para cambiar el color en el que se convertirá la celda.

Paso 6

Haz clic en la "x" en la esquina superior derecha de la pantalla para cerrar la consola VBA. Haz clic en la pestaña "Programador" en la parte superior de la pantalla. Encuentra el botón "Macro" en el lado izquierdo de la cinta y haz clic en él. Selecciona "Dupecheck" de la lista de macros disponibles y haz clic en "Ejecutar". Excel ahora destacará cada duplicado en la columna de datos.