VBA eemalda duplikaadid

Excelil on funktsioon, mida kasutatakse valitud lahtrite, ridade või tabelite duplikaatide väärtuste eemaldamiseks. Mis siis, kui selle protsessi automatiseerime VBA-s? Jah, duplikaadi eemaldamise protsessi saab VBA-s automatiseerida makro kujul. Pärast duplikaadi eemaldamist jäävad unikaalsed väärtused loendisse või tabelisse pärast valmimist. Seda saab teha VBA funktsiooni Eemalda duplikaadid abil.

Kuidas kasutada Excel VBA duplikaatide eemaldamist?

Õpime kasutama VBA eemaldamise duplikaate, koos mõne näitega Excelist.

Selle VBA eemaldamise duplikaatide Exceli malli saate alla laadida siit - VBA eemaldamise duplikaatide Exceli mall

Näide nr 1 - VBA eemaldage duplikaadid

Meil on ainult A-veerus numbrite loend, mis algab 1 kuni 5 ja lõpeb 20. reaga. Nagu näeme allolevas ekraanipildis, korduvad kõik numbrid mitu korda.

Nüüd on meie ülesanne VBA nimekirjast duplikaadi eemaldamine. Selleks minge VBA aknasse, vajutades klahvi F11.

Selles näites näeme põhikasutust, kuidas VBA eemaldamise duplikaadid numbrite jaoks töötada saavad. Selleks vajame moodulit.

1. samm: avage uus moodul menüüst Sisesta, mis asub vahekaardi Sisesta.

2. samm: kui see on avatud, kirjutage VBA eemaldamise duplikaadi alamkategooria, nagu allpool näidatud.

Kood:

 Alam VBARemoveDuplicate1 () lõpp Alam 

3. samm: duplikaadi eemaldamise protsessis peame kõigepealt valima andmed. Selleks rakendame VBA-s funktsiooni Valik, kuni allpool näidatud täieliku andmeloendi valimiseks kulub.

Kood:

 Alam VBARemoveDuplicate1 () Sele.End (xlDown) .Vali Sub Sub 

4. samm. Nüüd valime valitud lahtrite või veergude vahemiku A. See väheneb, kuni meil on andmed konkreetses veerus. Mitte ainult kuni 20. real.

Kood:

 Alam VBARemoveDuplicate1 () Sele.End (xlDown) .Vali vahemik (Selection, Selection.End (xlUp)). Valige End Sub 

5. samm. Valige nüüd avatud lehe lahtrite vahemik, nagu allpool näidatud. See aktiveerib kogu veeru. Oleme valinud veeru A lõpuni.

Kood:

 Alam VBARemoveDuplicate1 () Sele.End (xlDown) .Vali vahemik (Selection, Selection.End (xlUp)). Valige ActiveSheet.Range ("A: A"). Lõpu alam 

6. samm: kasutage siin funktsiooni RemoveDuplicate. See aktiveerib käsu dubleerivate väärtuste eemaldamiseks 1. veergude jadast. Kui veerge on rohkem, lisatakse number ja eraldatakse need sulgudes komadega (1, 2, 3, …).

Kood:

 Alam VBARemoveDuplicate1 () Sele.End (xlDown) .Vali vahemik (Selection, Selection.End (xlUp)). Valige ActiveSheet.Range ("A: A") .Duplicate Column eemaldamine: = 1, lõpp Sub 

7. samm: Nüüd kasutame käsku Päis, mis viib kursori lehe ülaosasse lahtrisse, mis asub enamasti mis tahes tabeli päises.

Kood:

 Alam VBARemoveDuplicate1 () Sele.End (xlDown) .Vali vahemik (Selection, Selection.End (xlUp)). Valige ActiveSheet.Range ("A: A"). RemoveDuplicates Veerud: = 1, Header: = xlYes End Sub 

8. samm: Nüüd kompileerige koodietapid, vajutades klahvi F8. Kui olete lõpetanud, klõpsake nuppu Esita, et käivitada kood, nagu allpool näidatud.

Nagu näeme, kustutatakse duplikaadi number A veerust ja jääb ainus kordumatu arv.

Näide 2 - VBA eemaldage duplikaadid

Selles näites näeme, kuidas eemaldada dubleerivaid väärtusi rohkem kui ühest veerust. Selleks käsitleme sama duplikaatloendit, mida kasutati näites-1. Kuid uuel viisil oleme lisanud veel 2 veergu samade väärtustega, nagu allpool näidatud.

See on veel üks meetod, mille koodistruktuur on pisut teist tüüpi.

1. samm: avage uus moodul VBA-s ja kirjutage alamkategooria VBA eemaldamise duplikaadist. Kui võimalik, andke sellele järjenumber, nii et parem on valida käivitamiseks õige kood.

Kood:

 Alam VBARemoveDuplicate2 () lõpp Alam 

2. samm: kõigepealt valige VBA-s täielik leht, nagu allpool näidatud.

Kood:

 Alam VBARemoveDuplicate2 () Cells.Select End Sub 

3. samm: valige käsuga ActiveSheet praegu avatud leht ja valige veerud A kuni C, nagu allpool näidatud.

Kood:

 Alam VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). Lõpu alam 

4. samm: valige nüüd käsk RemoveDuplicates ja valige pärast seda veeru massiiv 1 kuni 3, nagu allpool näidatud.

Kood:

 Alam VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates Column: = Array (1, 2, 3), End Sub 

5. samm: viimasel kasutamisel lisatakse XlYes-is duplikaatide eemaldamise protsessi käsk Päis, nagu allpool näidatud.

Kood:

 Alam VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C") .Demalda duplikaatide veerud: = Array (1, 2, 3), Header: = xlYes End Sub 

6. samm: Nüüd kompileerige täielik kood ja käivitage. Nagu allpool näeme, valitakse täielik leht, kuid duplikaatide väärtused eemaldatakse veergudest A, B ja C, hoides ainult unikaalset arvu.

Näide 3 - VBA eemaldage duplikaadid

See on veel üks duplikaadi eemaldamise meetod, mis on lihtsaim viis duplikaadi eemaldamiseks VBA-s. Selleks kasutame andmeid, mida nägime näites 1 ja mis on ka allpool näidatud.

1. samm: minge nüüd VBA juurde ja kirjutage uuesti alamkategooria VBA eemaldamise duplikaadid. Oleme andnud igale koodile jada, mille jaoks näitasime, et sellel on õige rada.

Kood:

 Alam VBARemoveDuplicate3 () lõpp Alam 

2. samm: See on üsna sarnane muster, mida nägime näites 2, kuid otsetee kood duplikaadi eemaldamiseks koodi kirjutamiseks. Kõigepealt alustage veeruvahemiku valimist otse, nagu allpool näidatud. Oleme piiranud veeru A lahtri 100-ni, alustades 1-st, millele järgneb punkt (.)

Kood:

 Alam VBARemoveDuplicate3 () vahemik ("A1: A100"). Lõpu alam 

3. samm: valige nüüd käsk RemoveDuplicates, nagu allpool näidatud.

Kood:

 Alam VBARemoveDuplicate3 () vahemik ("A1: A100"). RemoveDuplicates End Sub 

4. samm: valige nüüd veerud A nagu käsu Veerud järjestusega 1. Ja pärast seda lisage valitud veergude päis, nagu allpool näidatud.

Kood:

 Alam VBARemoveDuplicate3 () vahemik ("A1: A100"). Eemalda duplikaatide veerud: = 1, päis: = xlJa End Sub 

5. samm. Nüüd kompileerige see, vajutades klahvi F8, ja käivitage. Näeme, et meie kood on veerust A eemaldanud duplikaatide numbrid ja kehtivad ainult unikaalsed väärtused.

Plussid VBA eemaldamise duplikaadid

  • See on kasulik duplikaatide kiireks eemaldamiseks mis tahes lahtrivahemikust.
  • Seda on lihtne rakendada.
  • Kui töötate tohutu andmekogumiga, kus duplikaadi eemaldamine muutub käsitsi keeruliseks ja riputab failid ning VBA eemaldamise duplikaadid töötab sekundiga, annab meile kordumatud väärtused.

VBA miinused Eemalda duplikaadid

  • VBA eemaldamise duplikaatide kasutamine väga väikeste andmete jaoks ei ole kasulik, kuna seda saab hõlpsasti teha menüüribal Andmed saadaoleva funktsiooni Eemalda duplikaadid abil.

Asjad, mida meeles pidada

  • Vahemikku saab valida kahel viisil. Kui see on valitud, valitakse lahtrite arv, nagu näidatud näites-1, ja teine ​​valib kogu veeru lõpuni, nagu on näidatud näites-1.
  • Veenduge, et fail oleks salvestatud Macro-Enabled Excelis, mis võimaldab meil kirjutatud koodi mitu korda kasutada, ilma et seda kaotaksime.
  • Funktsiooni Header väärtust saate hoida jah, kuna see arvestab ka päist, eemaldades dubleerivad väärtused. Kui päise nime nimega duplikaatväärtust pole, siis ei kahjusta selle hoidmine numbrina midagi.

Soovitatavad artiklid

See on juhend VBA duplikaatide eemaldamiseks. Siin oleme arutanud, kuidas kasutada Exceli VBA eemaldamise duplikaate koos praktiliste näidete ja allalaaditava Exceli malliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. Töö VBA Active Celliga
  2. Rea kustutamine VBA-s
  3. Kuidas kasutada Exceli VBA ülekandmist?
  4. Kuidas VBA abil viga 1004 parandada

Kategooria: