VBA Odstrániť duplikáty | Ako odstrániť duplicitné hodnoty v programe Excel VBA?

RemoveDuplicates in VBA Excel

Duplicitné hodnoty sa v programe Excel často nevyžadujú, najmä ak chcete mať počet jedinečných hodnôt. Zvyčajne máme inú sadu dát, s ktorou môžeme pracovať, a vidíme v nej kopu duplicitných hodnôt.

Dúfam, že ste s odstránením duplikátov v pracovnom hárku programu Excel oboznámení, ak sa nemusíte báť, ukážeme vám jednoduchý príklad. Aj vo VBA môžeme vykonať metódu odstránenia duplikátov.

Takže odstránil všetky duplicitné hodnoty nadpisu „Región“. Podobne môžeme túto úlohu vykonať pomocou kódu VBA.

Ako odstrániť duplicitné hodnoty v kódovaní VBA?

Aby sme najskôr odstránili duplicitné hodnoty, musíme spomenúť rozsah, na ktorý odkazujeme, a potom môžeme pristupovať k metóde „Odstrániť duplikáty“. Syntax bude teda nasledovná.

[Stĺpec]: Ktorý stĺpec z výberu potrebujeme na odstránenie duplikátov? Musíme spomenúť číslo stĺpca vybraného rozsahu.

[Hlavička]: Rozsah, ktorý ste vybrali, má alebo nemá hlavičky. Máme tu tri možnosti spolupráce.

  • xlÁno: Ak majú dáta hlavičky, môžete ich zvoliť.
  • xlNo: Ak údaje nemajú hlavičky, môžete vybrať toto.
  • xlGuess: Táto možnosť umožní programu Excel uhádnuť hlavičky údajov.

Takže pomocou týchto parametrov môžeme odstrániť duplikáty jediným kliknutím na tlačidlo bez toho, aby sme sa zapotili.

V nasledujúcej časti vám ukážem niektoré príklady odstránenia duplikátov pomocou VBA. Pri písaní kódu postupujte opatrne.

Príklady odstránenia duplicitných hodnôt v kódovaní VBA

Nižšie uvádzame príklady odstránenia duplikátov v aplikácii Values ​​VBA.

Odstránené duplikáty VBA - príklad č. 1

Zvážte nižšie uvedené údaje aj pre tento príklad.

Z vyššie uvedených údajov musíme odstrániť duplikáty stĺpca „Region“, takže pri písaní kódu postupujte podľa nasledujúcich pokynov.

Krok 1: Začnite podproces pomenovaním kódu makra.

Krok 2: Spomeňte na rozsah údajov pomocou objektu Rozsah VBA .

Kód:

Rozsah Sub_Odstránenie_Duplikáty_Example1 () ("A1: C9"). Koniec Sub

Krok 3: Po zmienke o prístupe k rozsahu pomocou metódy VBA „ RemoveDuplicates “.

Kód:

 Sub Remove_Duplicates_Example1 () Range ("A1: C9"). RemoveDuplicates End Sub 

Krok 4: Prvý argument, v ktorom stĺpci musíme odstrániť duplicitné hodnoty. V tomto príklade z prvého stĺpca musíme odstrániť duplikáty.

Kód:

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

Krok 5: Ďalšia vec je, či majú dáta hlavičky alebo nie. V tomto prípade máme hlavičky, takže vyberte možnosť „xlAno“.

Kód:

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

Spustením tohto kódu VBA odstráni duplikáty z vybratej oblasti.

Toto je výslovný spôsob odkazu na rozsah buniek. Ak si chcete vybrať rozsah sami a potom odstrániť duplikáty, na prácu musíme použiť premennú. V nasledujúcom príklade vám ukážem, ako používať premenné vo VBA.

Odstránené duplikáty VBA - príklad č. 2

Vo vyššie uvedenom príklade sme osobitne dodali sortiment buniek. Teraz uvidíme, ako pracovať s výberom vlastných buniek.

Mám napríklad niekoľko súborov údajov, ako je znázornené na nasledujúcom obrázku.

Zakaždým, keď nemôžem výslovne určiť rozsah buniek, priradíme výber ako rozsah.

Krok 1: Deklarujte premennú ako Rozsah .

Kód:

 Sub Remove_Duplicates_Example2 () Dim Rng ako rozsah End Sub 

Krok 2: Range je objekt, ktorého rozsah nastavíme ako náš výber.

Kód:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Výber End Sub 

Krok 3: Teraz môžeme namiesto viacerých buniek použiť premennú „ rng “.

Kód:

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

Before we run the code we need to select the range of cells first then we can remove duplicates from the selected range of cells.

VBA Remove Duplicates from Multiple Columns – Example #3

We can also use VBA to remove duplicate values from excel columns as well. In order to remove multiple columns, we need to use Array and mention the column numbers.

For example, look at the example data image.

We have duplicated values in the first column and fourth column. So we will remove from these columns. Use the below code to VBA to remove duplicates.

Code:

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

You can download this VBA Remove Duplicates Excel here. VBA Remove Duplicates Excel Template