¿Cómo eliminar duplicados de la array usando VBA en Excel?

Código de Excel VBA para eliminar duplicados de un rango de celdas determinado. En el siguiente conjunto de datos, hemos proporcionado una lista de 15 números en el rango A1:A15 de la «Columna A». Es necesario eliminar los duplicados y colocar números únicos en la columna B.

Datos de muestra: Celdas A1:A15

Data de muestra

Salida final:

Código VBA para eliminar duplicados y colocarlos en la siguiente columna (B)

Declarar Variables:

Variables Tipo de datos Comentarios
no duplicado booleano Es un valor booleano (Verdadero/Falso).
uNo Entero Número de elementos únicos en la columna B
reajuste salarial Entero Células de la columna A de la iteración
colB Entero Células de la columna B de la iteración
'Variable Declarations
Dim nonDuplicate As Boolean, uNo As Integer, colA As Integer, colB As Integer

Siempre el primer valor será único, así que A1 coloca en la celda B1

'Place first value to B1
Cells(1, 2).Value = Cells(1, 1).Value

Inicializar variables:

'Initialize uNo = 1 since first number is already placed in column B; Assign True to the variable nonDuplicate

uNo = 1

nonDuplicate= True

Dado que el primer número ya está colocado en la celda B1, Loop comienza desde A2 hasta A15. Tome cada número de la Columna A y verifique con la Columna B (rango único)

'Use for loop to check each number from A2 to A15 
For colA = 2 To 15
    For colB = 1 To uNo

si el número ya está colocado en la columna B. Asigne Falso a la variable «no duplicada».

        If Cells(colA, 1).Value = Cells(colB, 2).Value Then
            nonDuplicate= False
        End If

«nonDuplicate» es verdadero, luego colóquelo en la columna B y aumente uNo en 1

    'if nonDuplicate is true, place cell value in column B and increase uNo = uNo + 1
    If nonDuplicate = True Then
        Cells(uNo + 1, 2).Value = Cells(colA, 1).Value
        uNo = uNo + 1
    End If

Restablecer la variable «no duplicada» 

'reset nonDuplicate to True
nonDuplicate = True

Cerrar para bucle

Next colA

Implementación:

Siga los pasos a continuación para eliminar duplicados usando Excel VBA:

Paso 1: agregue una forma ( VBA Remove Duplicates ) a su hoja de trabajo  

Paso 2: haga clic con el botón derecho en «Eliminar duplicados de VBA» y «Asignar macro…»

Paso 3: seleccione «eliminar duplicados», puede ver una lista de macros disponibles en su libro de trabajo

Paso 4: guarde su archivo de Excel como «Libro de trabajo habilitado para macros de Excel» * .xlsm

Paso 5: haga clic en «Eliminar duplicados de VBA» para ejecutar el código VBA y ver el resultado

Publicación traducida automáticamente

Artículo escrito por sk123online y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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