Cómo usar VBA para eliminar filas que contienen datos duplicados en una determinada columna de una tabla, dejando solo una de ellas.
El uso de un diccionario puede implementar rápida y fácilmente operaciones de deduplicación. El código es el siguiente:
Sub main()
Set dic = CreateObject("scripting. diccionario") 'Crea un objeto de diccionario y asigna el objeto de diccionario a la variable dic; este es el código más utilizado, que es el llamado "enlace tardío"
For i = Range("B65536 ").End (3).Row To 1 Step -1 'Disminuye desde la última fila de la columna B hasta la primera fila. Si aumenta desde la primera fila hasta la última fila, se omitirán muchas filas debido a la eliminación de filas. , y no se alcanzará. Efecto pesado
Si dic.exists(Cells(i, "B").Value) Then 'Si los datos de la columna B ya están en el diccionario (es decir, repetido)
Filas(i).Delete 'Eliminar esta fila
Else
dic(Cells(i, "B").Value) = "" 'De lo contrario, elimine la fila en la columna B Coloque los datos en el diccionario
End If
Siguiente i
End Sub