Tecnología

Inicio

Cómo quitar las filas duplicadas de matriz en Excel VBA

Cómo quitar las filas duplicadas de matriz en Excel VBA


Eliminación de datos duplicados de una matriz utilizando Visual Basic para Aplicaciones (VBA) en Excel puede ser confuso si usted no es un experimentado programador de VBA. La clasificación y la eliminación de datos duplicados de una matriz es un proceso iterativo que requiere un algoritmo bastante sofisticado, pero se puede lograr fácilmente siguiendo unos sencillos pasos. En VBA, se puede utilizar un "bucle For ..." y el objeto "Collection" para realizar un seguimiento de los artículos únicos de la matriz y el proceso es bastante rápido en función del tamaño de su matriz.

Instrucciones

1 Haga clic en la pestaña "desarrolladores" y haga clic en "Visual Basic" para abrir la ventana Editor de VB. Inserte un nuevo módulo de código haciendo clic en el menú "Insertar" y haciendo clic en "módulos".

2 Crear un nuevo procedimiento sub y definir tres variables que va a utilizar para eliminar duplicados en su matriz.

RemoveDuplicates Private Sub ()

Dim strArray(5) As String

Como mycol tenue Colección

idx Dim As Long

Establecer mycol = Nueva Colección

3 Añadir datos duplicados a su matriz.

strArray(0) = "bbb"

strArray (1) = "bbb"

strArray (2) = "CCC"

strArray (3) = "ddd"

strArray (4) = "ddd"

4 Copia y pega el código siguiente para crear un "bucle For ..." y recorrer cada elemento de la matriz para eliminar los duplicados:

On Error Resume Next

Para idx = LBound (strArray) Para UBound (strArray)

myCol.Add 0, CStr (strArray (IDX))

Si Err Entonces

strArray (idx) = Vacío

DUP = 1 + dups

Err.Clear

Entonces dups ElseIf

strArray (IDX - DUP) = strArray (IDX)

strArray (idx) = Vacío

Terminara si

Siguiente

5 Imprimir cada elemento de la matriz a la ventana Inmediato para demostrar que se han eliminado los duplicados.

For idx = LBound(strArray) To UBound(strArray)

Debug.Print strArray (IDX)

Siguiente

6 Tipo "End Sub" para terminar el procedimiento. Haga clic en el menú "Ejecutar" y haga clic en el botón de reproducción para ejecutar el programa.