Por favor alguien puede darme algunos consejos sobre la manera de resolver el siguiente problema:VBA, eliminar duplicados de la matriz
Supongamos que tengo un bloque de datos en Excel 2010, 100 filas por 3 columnas.
columna C contiene algunos duplicados, dicen que comienza como 1,1,1 2,3,4,5, ....., 97,98
El uso de VBA, me gustaría quitar el duplique las filas, de acuerdo con la columna C, de modo que me quedo con 1,2,3, ....., 97, 98, es decir, solo 98 filas y 3 columnas.
Sé que hay un botón en el que puedo hacer clic en Excel 2010 para hacerlo, pero quiero hacerlo en VBA (porque lo he intentado y, por algún motivo, intero con el resto de mi código posteriormente y da error resultados).
Por otra parte, me gustaría hacerlo en matrices, a continuación, pegar los resultados en la hoja de trabajo, en lugar de métodos tales como Application.Worksheetfunction.countif (.....
Así que algo como:
.Dim myarray() as Variant
myarray=cells(1,1).Currentregion.value
Dim a as Long
For a=1 to Ubound(myarray,1)
'something here to
Next a
Esta eliminar filas reales de la hoja, mientras que la cuestión era eliminar duplicados en VBA.Además, cualquier eliminación de fila siempre debería ocurrir yendo de abajo hacia arriba, para evitar omitir filas – brettdj
@brettdj Ambos bits de código funcionarán para eliminar duplicados. El asker quería hacerlo en VBA, preferiblemente con matrices (en cuyo caso puede modificar fácilmente el ciclo para iterar a través de filas de la matriz en lugar de un rango, y luego agregar solo elementos únicos a una matriz separada). Si miras el código, verás que la eliminación de fila va de abajo hacia arriba ('rowCount' se reduce). :) – Zairja
Bueno, la pregunta se titula * VBA, eliminar duplicados de la matriz *. Señala que el código desciende de la misma forma que usa '.Count', aunque en este caso el asker puede necesitar especificar si la primera ocurrencia debe mantenerse en la parte superior o inferior. – brettdj