VBA Eliminar duplicados

Eliminar duplicados en VBA Excel

Los valores duplicados a menudo no son necesarios en Excel, especialmente cuando desea que los valores únicos cuenten. Por lo general, tenemos un conjunto de datos diferente para trabajar y vemos un montón de valores duplicados en él.

Espero que esté familiarizado con la eliminación de duplicados en la hoja de trabajo de Excel, si no es nada de qué preocuparse, le mostraremos un ejemplo simple para usted. En VBA también podemos realizar el método de eliminación de duplicados.

Por lo tanto, ha eliminado todos los valores duplicados del encabezado "Región". Del mismo modo, podemos hacer esta tarea con la ayuda del código VBA.

¿Cómo eliminar valores duplicados en la codificación VBA?

Para eliminar valores duplicados primero, debemos mencionar el rango al que nos referimos, luego podemos acceder al método "Eliminar duplicados". Entonces la sintaxis será la siguiente.

[Columna]: ¿Qué columna de la selección necesitamos eliminar los duplicados? Necesitamos mencionar el número de columna del rango seleccionado.

[Encabezado]: el rango que ha seleccionado tiene encabezados o no. Tenemos tres opciones para trabajar aquí.

  • xlSí: si los datos tienen encabezados, puede seleccionar esto.
  • xlNo: si los datos no tienen encabezados, puede seleccionar esto.
  • xlGuess: esta opción permitirá que Excel adivine los encabezados de los datos.

Entonces, usando estos parámetros podemos eliminar duplicados con solo hacer clic en un botón sin rompernos el sudor.

En la siguiente sección, le mostraré algunos de los ejemplos para eliminar duplicados de VBA. Siga los pasos cuidadosamente para escribir el código por su cuenta.

Ejemplos de eliminar valores duplicados en la codificación VBA

A continuación se muestran los ejemplos de Eliminar duplicados en valores VBA.

Removeduplicates de VBA - Ejemplo n. ° 1

Considere también los datos a continuación para este ejemplo.

De los datos anteriores, necesitamos eliminar los duplicados de la columna "Región", así que siga los pasos a continuación para escribir el código.

Paso 1: Inicie el subprocedimiento dando un nombre a un código de macro.

Paso 2: mencione el rango de datos utilizando el objeto Rango de VBA .

Código:

Sub Remove_Duplicates_Example1 () Rango ("A1: C9"). End Sub

Paso 3: Después de mencionar el método " RemoveDuplicates " de VBA de acceso al rango .

Código:

 Sub Remove_Duplicates_Example1 () Rango ("A1: C9"). RemoveDuplicates End Sub 

Paso 4: Primer argumento en qué columna necesitamos eliminar los valores duplicados. En este ejemplo de la primera columna, necesitamos eliminar los duplicados.

Código:

 Sub Remove_Duplicates_Example1 () Rango ("A1: C9"). RemoveDuplicates Columnas: = 1, End Sub 

Paso 5: Lo siguiente es si los datos tienen encabezados o no. En este caso, tenemos encabezados, así que seleccione "xlYes".

Código:

 Sub Remove_Duplicates_Example1 () Rango ("A1: C9"). RemoveDuplicates Columnas: = 1, Encabezado: = xlYes End Sub 

Ejecute este código, VBA eliminará los duplicados de la región seleccionada.

Esta es una forma explícita de referirse al rango de celdas. Si desea seleccionar el rango por nuestra cuenta y luego eliminar los duplicados, entonces debemos usar la variable para trabajar. En el siguiente ejemplo, le mostraré cómo usar variables en VBA.

Removeduplicates de VBA - Ejemplo n. ° 2

En el ejemplo anterior, hemos proporcionado específicamente el rango de celdas. Ahora veremos cómo trabajar con la selección de celdas propias.

Por ejemplo, tengo algunos conjuntos de datos como se muestra en la siguiente imagen.

Cada vez que no puedo especificar el rango de celdas explícitamente, asignaremos la selección como rango.

Paso 1: Declare la variable como Rango .

Código:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range End Sub 

Paso 2: El rango es un objeto, estableceremos el rango como nuestra selección.

Código:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection End Sub 

Paso 3: Ahora, en lugar de un rango de celdas, podemos usar la variable " rng ".

Código:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Antes de ejecutar el código, primero debemos seleccionar el rango de celdas y luego podemos eliminar los duplicados del rango de celdas seleccionado.

VBA Eliminar duplicados de varias columnas - Ejemplo n. ° 3

También podemos usar VBA para eliminar valores duplicados de las columnas de Excel. Para eliminar varias columnas, debemos usar Array y mencionar los números de columna.

Por ejemplo, mire la imagen de datos de ejemplo.

Tenemos valores duplicados en la primera y la cuarta columna. Así que eliminaremos de estas columnas. Use el siguiente código para VBA para eliminar duplicados.

Código:

 Sub Remove_Duplicates_Example3 () Dim Rng As Range Set Rng = Range ("A1: D9") Rng.RemoveDuplicates Columns: = Array (1, 4), Header: = xlYes End Sub 

Puede descargar este VBA Remove Duplicates Excel aquí. VBA Eliminar duplicados de plantilla de Excel