VBA Elimina duplicats | Com eliminar valors duplicats a Excel VBA?

RemoveDuplicates a VBA Excel

Sovint no es requereixen valors duplicats a Excel, especialment quan es vol comptar amb valors únics. Normalment tenim un conjunt de dades diferent per treballar i hi veiem un munt de valors duplicats.

Espero que estigueu familiaritzat amb l’eliminació de duplicats del full de treball Excel, si no és que us preocupeu, us mostrarem un exemple senzill. A VBA també podem realitzar el mètode d'eliminació de duplicats.

Per tant, ha eliminat tots els valors duplicats de l'encapçalament "Regió". De la mateixa manera, podem fer aquesta tasca amb l'ajut del codi VBA.

Com eliminar valors duplicats a la codificació VBA?

Per eliminar els valors duplicats primer, hem d’esmentar l’interval al qual ens referim i, després, podem accedir al mètode “Elimina duplicats”. Per tant, la sintaxi serà la següent.

[Columna]: Quina columna de la selecció necessitem per eliminar els duplicats? Hem d’esmentar el número de columna de l’interval seleccionat.

[Capçalera]: L'interval que heu seleccionat té o no capçaleres. Aquí tenim tres opcions per treballar.

  • xlSí: Si les dades tenen capçaleres, podeu seleccionar-la.
  • xlNo: Si les dades no tenen capçaleres, podeu seleccionar-la.
  • xlGuess: Aquesta opció permetrà a l’Excel endevinar les capçaleres de les dades.

Així, mitjançant aquests paràmetres podem eliminar els duplicats amb només fer clic d’un botó sense trencar-nos la suor.

A la secció següent, us mostraré alguns exemples per eliminar VBA duplicats. Seguiu els passos amb cura per escriure el codi pel vostre compte.

Exemples d’eliminació de valors duplicats a la codificació VBA

A continuació es mostren els exemples d’eliminació de duplicats en valors VBA.

VBA Removeduplicates: exemple 1

Tingueu en compte les dades següents per a aquest exemple.

De les dades anteriors, hem d’eliminar els duplicats de columna “Regió”, de manera que seguiu els passos següents per escriure el codi.

Pas 1: Inicieu el subprocés donant un nom a un codi macro.

Pas 2: Esmenta l’abast de dades mitjançant el VBA Objecte de rang.

Codi:

 Subtreu_Duplicats_Exemple1 () Interval ("A1: C9"). Finalitzar sub 

Pas 3: Després d’esmentar l’accés d’interval VBA “RemoveDuplicates”Mètode.

Codi:

 Sub Eliminar_Duplicats_Exemple1 () Interval ("A1: C9"). EliminarDuplicats Final Sub 

Pas 4: Primer argument en quina columna hem d’eliminar els valors duplicats. En aquest exemple de la primera columna, hem d’eliminar els duplicats.

Codi:

 Sub Remove_Duplicates_Example1 () Range ("A1: C9"). RemoveDuplicates Columns: = 1, End Sub 

Pas 5: El següent és si les dades tenen capçaleres o no. En aquest cas, tenim capçaleres tan selectes "XlSí".

Codi:

 Sub Remove_Duplicates_Example1 () Range ("A1: C9"). RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Executeu aquest codi, VBA eliminarà els duplicats de la regió seleccionada.

Aquesta és una manera explícita de referir-se al rang de cel·les. Si voleu seleccionar l'interval per nosaltres mateixos i eliminar els duplicats, hem d'utilitzar la variable per treballar. A l'exemple següent us mostraré com utilitzar variables a VBA.

VBA Removeduplicates: exemple 2

A l'exemple anterior, hem subministrat específicament el rang de cel·les. Ara veurem com treballar amb la selecció de cel·les pròpies.

Per exemple, tinc uns quants conjunts de dades com es mostra a la imatge següent.

Cada vegada que no puc especificar explícitament l’interval de cel·les, per tant assignarem la selecció com a interval.

Pas 1: Declareu la variable com Range.

Codi:

 Sub Eliminar_Duplicats_Exemple2 () Redueix com a final de gamma Sub 

Pas 2: El rang és un objecte que farem definiu l'interval com la nostra selecció.

Codi:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection End Sub 

Pas 3: Ara, en lloc d'un interval de cel·les, podem utilitzar la variable "rng”.

Codi:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Abans d’executar el codi, primer hem de seleccionar l’interval de cel·les i després podem eliminar els duplicats de l’interval de cel·les seleccionat.

VBA Eliminar duplicats de diverses columnes: exemple 3

També podem utilitzar VBA per eliminar valors duplicats de les columnes Excel també. Per eliminar diverses columnes, hem d’utilitzar Array i esmentar els números de columna.

Per exemple, mireu la imatge de dades d'exemple.

Hem duplicat valors a la primera columna i a la quarta. Per tant, eliminarem d’aquestes columnes. Utilitzeu el codi següent per eliminar VBA.

Codi:

 Sub Remove_Duplicates_Example3 () Dim Rng As Range Set Rng = Range ("A1: D9") Rng.RemoveDuplicates Columns: = Array (1, 4), Header: = xlYes End Sub 

Podeu descarregar aquest Excel VBA Remove Duplicates aquí. VBA Elimina duplicats de plantilla d'Excel