VBA Eliminar duplicados

Excel tiene una función que se utiliza para eliminar los valores duplicados de las celdas, filas o tablas seleccionadas. ¿Qué pasa si este proceso lo automatizamos en VBA? Sí, el proceso de eliminar el duplicado se puede automatizar en VBA en forma de macro. En el proceso de eliminar el duplicado, una vez que se completa, los valores únicos permanecen en la lista o tabla. Esto puede hacerse con la ayuda de la función Eliminar duplicados en VBA.

¿Cómo utilizar Excel VBA eliminar duplicados?

Aprenderemos cómo usar un VBA Eliminar duplicados con algunos ejemplos en Excel.

Puede descargar esta plantilla de Excel para eliminar duplicados de VBA aquí - Plantilla de Excel para eliminar duplicados de VBA aquí

Ejemplo # 1 - VBA Eliminar duplicados

Tenemos una lista de números que comienzan del 1 al 5 hasta la fila 20 en la columna A solamente. Como podemos ver en la siguiente captura de pantalla, todos los números se repiten varias veces.

Ahora nuestro trabajo es eliminar el duplicado de la lista por VBA. Para esto, vaya a la ventana de VBA presionando la tecla F11.

En este ejemplo, veremos el uso básico de cómo VBA Remove Duplicates puede funcionar para los números. Para esto, necesitamos un módulo.

Paso 1: abra un nuevo módulo desde el menú Insertar que se encuentra en la pestaña del menú Insertar.

Paso 2: una vez que esté abierto, escriba la subcategoría de VBA Eliminar duplicado como se muestra a continuación.

Código:

 Sub VBARemoveDuplicate1 () End Sub 

Paso 3: en el proceso de eliminar el duplicado, primero debemos seleccionar los datos. Para esto, en VBA haremos la función Selección hasta que baje para seleccionar la lista de datos completa como se muestra a continuación.

Código:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown). Seleccione End Sub 

Paso 4: Ahora seleccionaremos el Rango de celdas o columnas seleccionadas A. Bajará hasta que tengamos los datos en una columna en particular. No solo hasta la fila 20.

Código:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Seleccione Range (Selection, Selection.End (xlUp)). Seleccione End Sub 

Paso 5: Ahora seleccione el rango de las celdas en una hoja abierta actualmente como se muestra a continuación. Esto activará la columna completa. Hemos seleccionado la columna A hasta el final.

Código:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Seleccione Range (Selection, Selection.End (xlUp)). Seleccione ActiveSheet.Range ("A: A"). End Sub 

Paso 6: Ahora usa la función RemoveDuplicate aquí. Esto activará el comando para eliminar los valores duplicados de la secuencia de las columnas 1. Si hay más columnas, el número se agregará y se separará con comas entre paréntesis como (1, 2, 3, …).

Código:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Seleccione Range (Selection, Selection.End (xlUp)). Seleccione ActiveSheet.Range ("A: A"). RemoveDuplicates Columns: = 1, End Sub 

Paso 7: Ahora usaremos el comando Encabezado que moverá el cursor a la celda superior de la hoja, que se encuentra principalmente en el encabezado de cualquier tabla.

Código:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Seleccione Range (Selection, Selection.End (xlUp)). Seleccione ActiveSheet.Range ("A: A"). RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Paso 8: Ahora compile los pasos del código presionando la tecla F8. Una vez hecho esto, haga clic en el botón Reproducir para ejecutar el código como se muestra a continuación.

Como podemos ver, el número duplicado se elimina de la columna A y solo queda un recuento único.

Ejemplo # 2 - VBA Eliminar duplicados

En este ejemplo, veremos cómo eliminar valores duplicados de más de una columna. Para esto, consideraremos la misma lista duplicada utilizada en el ejemplo-1. Pero de una manera nueva, hemos agregado 2 columnas más de los mismos valores que se muestran a continuación.

Este es otro método con un tipo diferente de estructura de código.

Paso 1: abra un nuevo módulo en VBA y escriba la subcategoría en VBA Quitar duplicado. Si es posible, asígnele un número de secuencia para que sea mejor elegir el código correcto para ejecutar.

Código:

 Sub VBARemoveDuplicate2 () End Sub 

Paso 2: Primero, seleccione la hoja completa en VBA como se muestra a continuación.

Código:

 Sub VBARemoveDuplicate2 () Cells.Select End Sub 

Paso 3: Ahora seleccione la hoja abierta actualmente con el comando ActiveSheet y seleccione las columnas A a C como se muestra a continuación.

Código:

 Celdas Sub VBARemoveDuplicate2 (). Seleccione ActiveSheet.Range ("A: C"). End Sub 

Paso 4: Ahora seleccione el comando RemoveDuplicates y luego seleccione Column array de 1 a 3 como se muestra a continuación.

Código:

 Celdas Sub VBARemoveDuplicate2 (). Seleccione ActiveSheet.Range ("A: C"). Quitar columnas Duplicar: = Matriz (1, 2, 3), Fin Sub 

Paso 5: En el último uso, el comando Encabezado se incluirá en el proceso de eliminación de duplicados como xl Sí, como se muestra a continuación.

Código:

 Celdas Sub VBARemoveDuplicate2 (). Seleccione ActiveSheet.Range ("A: C"). Quite Columnas Duplicar: = Matriz (1, 2, 3), Encabezado: = xl Sí Fin Sub 

Paso 6: Ahora compile el código completo y ejecútelo. Como podemos ver a continuación, se selecciona la hoja completa, pero los valores duplicados se eliminan de las columnas A, B y C, manteniendo solo un recuento único.

Ejemplo # 3 - VBA Eliminar duplicados

Este es otro método para eliminar duplicados, que es la forma más sencilla de eliminar duplicados en VBA. Para esto, utilizaremos los datos que vimos en el ejemplo 1 y que también se muestran a continuación.

Paso 1: Ahora para ir a VBA y volver a escribir la subcategoría de VBA Eliminar duplicados. Hemos dado la secuencia a cada código que mostramos que tiene una pista adecuada.

Código:

 Sub VBARemoveDuplicate3 () End Sub 

Paso 2: Este es un patrón bastante similar al que hemos visto en el ejemplo 2, pero es una forma abreviada de escribir un código para eliminar duplicados. Para esto primero comience directamente a seleccionar el rango de columna como se muestra a continuación. Hemos mantenido el límite hasta la celda número 100 de la columna A a partir de 1 seguido de un punto (.)

Código:

 Sub VBARemoveDuplicate3 () Rango ("A1: A100"). End Sub 

Paso 3: Ahora seleccione el comando RemoveDuplicates como se muestra a continuación.

Código:

 Sub VBARemoveDuplicate3 () Range ("A1: A100"). RemoveDuplicates End Sub 

Paso 4: Ahora seleccione las columnas A como con el comando Columnas con la secuencia de 1. Y luego incluya el encabezado de las columnas seleccionadas, como se muestra a continuación.

Código:

 Sub VBARemoveDuplicate3 () Range ("A1: A100"). RemoveDuplicates Columns: = 1, Header: = xl Sí End Sub 

Paso 5: Ahora compílelo presionando la tecla F8 y ejecútelo. Veremos que nuestro código ha eliminado los números duplicados de las columnas A y solo se aplican valores únicos.

Ventajas de VBA Eliminar duplicados

  • Es útil para eliminar rápidamente los duplicados en cualquier rango de celdas.
  • Es fácil de implementar.
  • Cuando se trabaja en un gran conjunto de datos, donde eliminar el duplicado se vuelve difícil manualmente y bloquea los archivos y VBA Eliminar duplicados funciona en un segundo para darnos los valores únicos.

Contras de VBA Eliminar duplicados

  • No es beneficioso usar VBA Eliminar duplicados para datos muy pequeños, ya que podría hacerse fácilmente mediante la función Eliminar duplicados disponible en la barra de menú Datos.

Cosas para recordar

  • El rango se puede seleccionar de dos maneras. Una vez que se selecciona el límite de celdas como se muestra en el ejemplo-1 y otro se selecciona la columna completa hasta el final como se muestra en el ejemplo-1.
  • Asegúrese de que el archivo esté guardado en Excel habilitado para macros, lo que nos permitirá usar el código escrito varias veces sin perderlo.
  • Puede mantener el valor de la función Encabezado como , ya que también contará el encabezado al eliminar los valores duplicados. Si no hay un valor duplicado con el nombre del encabezado, mantenerlo como No dañará nada.

Artículos recomendados

Esta ha sido una guía para VBA Eliminar duplicados. Aquí hemos discutido cómo usar Excel VBA Eliminar duplicados junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Trabajando con VBA Active Cell
  2. Eliminar una fila en VBA
  3. ¿Cómo utilizar Excel VBA Transpose?
  4. Cómo reparar el error 1004 usando VBA

Categoría: