Red de conocimiento informático - Material del sitio web - Cómo usar VBA para eliminar filas que contienen datos duplicados en una determinada columna de una tabla, dejando solo una de ellas.

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