VBA Odebrat duplikáty | Jak odstranit duplicitní hodnoty v aplikaci Excel VBA?

RemoveDuplicates in VBA Excel

Duplicitní hodnoty se v aplikaci Excel často nevyžadují, zejména pokud chcete mít počet jedinečných hodnot. Obvykle máme jinou sadu dat, se kterými můžeme pracovat, a vidíme v nich spoustu duplicitních hodnot.

Doufám, že jste obeznámeni s odstraňováním duplikátů v listu aplikace Excel, pokud se nemusíte bát, ukážeme vám jednoduchý příklad. I ve VBA můžeme provést metodu odstranění duplikátů.

Takže odstranil všechny duplicitní hodnoty nadpisu „Region“. Podobně můžeme tento úkol provést pomocí kódu VBA.

Jak odstranit duplicitní hodnoty v kódování VBA?

Abychom nejprve odstranili duplicitní hodnoty, musíme zmínit rozsah, na který odkazujeme, a poté můžeme přistupovat k metodě „Odebrat duplikáty“. Syntaxe bude tedy následující.

[Sloupec]: Který sloupec výběru musíme odstranit duplikáty? Musíme uvést číslo sloupce vybraného rozsahu.

[Záhlaví]: Rozsah, který jste vybrali, má záhlaví nebo ne. Zde máme tři možnosti, jak s nimi pracovat.

  • xlAno: Pokud mají data záhlaví, můžete toto vybrat.
  • xlNo: Pokud data nemají záhlaví, můžete vybrat toto.
  • xlGuess: Tato možnost umožní aplikaci Excel uhodnout záhlaví dat.

Takže pomocí těchto parametrů můžeme odstranit duplikáty pouhým kliknutím na tlačítko, aniž bychom se rozbili.

V níže uvedené části vám ukážu některé z příkladů odstranění duplikátů VBA. Postupujte podle pokynů pečlivě, abyste kód napsali sami.

Příklady odebrání duplicitních hodnot v kódování VBA

Níže jsou uvedeny příklady Odstranit duplikát v VBA Values.

VBA Removeduplicates - Příklad č. 1

Zvažte níže uvedená data i pro tento příklad.

Z výše uvedených údajů musíme odstranit duplikáty sloupce „Region“, takže při psaní kódu postupujte podle níže uvedených kroků.

Krok 1: Spusťte podproces pojmenováním kódu makra.

Krok 2: Uveďte rozsah dat pomocí objektu Rozsah VBA .

Kód:

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

Krok 3: Po zmínce o přístupové metodě VBA „ RemoveDuplicates “.

Kód:

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

Krok 4: První argument, ve kterém sloupci musíme odstranit duplicitní hodnoty. V tomto příkladu z prvního sloupce musíme odstranit duplikáty.

Kód:

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

Krok 5: Další věc je, zda data mají záhlaví nebo ne. V tomto případě máme záhlaví, proto vyberte „xlAno“.

Kód:

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

Spusťte tento kód, VBA odstraní duplikáty z vybrané oblasti.

Toto je explicitní způsob odkazu na rozsah buněk. Pokud si přejete vybrat rozsah sami a poté odstranit duplikáty, musíme pro práci použít proměnnou. V níže uvedeném příkladu vám ukážu, jak používat proměnné ve VBA.

VBA Removeduplicates - Příklad č. 2

Ve výše uvedeném příkladu jsme specificky dodali rozsah buněk. Nyní uvidíme, jak pracovat s výběrem vlastních buněk.

Například mám několik sad dat, jak je znázorněno na následujícím obrázku.

Pokaždé, když nemohu explicitně určit rozsah buněk, přiřadíme výběr jako rozsah.

Krok 1: Deklarujte proměnnou jako Range .

Kód:

 Sub Remove_Duplicates_Example2 () Dim Rng jako rozsah End Sub 

Krok 2: Rozsah je objekt, jehož rozsah nastavíme jako náš výběr.

Kód:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Výběr End Sub 

Krok 3: Nyní můžeme místo řady buněk použít proměnnou „ rng “.

Kód:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = výběr Rng.RemoveDuplicates Sloupce: = 1, záhlaví: = xlAno End Sub 

Než spustíme kód, musíme nejprve vybrat rozsah buněk, poté můžeme z vybrané oblasti buněk odebrat duplikáty.

VBA Odebrání duplikátů z více sloupců - Příklad č. 3

Můžeme také použít VBA k odstranění duplicitních hodnot ze sloupců aplikace Excel. Abychom mohli odstranit více sloupců, musíme použít Array a zmínit čísla sloupců.

Podívejte se například na ukázkový datový obrázek.

V prvním sloupci a ve čtvrtém sloupci máme duplikované hodnoty. Odebereme tedy z těchto sloupců. Použijte níže uvedený kód k VBA k odstranění duplikátů.

Kód:

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

Tuto verzi VBA Remove Duplicates Excel si můžete stáhnout zde. VBA Odebrat duplikáty šablony aplikace Excel