-
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.