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