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í, zvláště 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. Také ve VBA můžeme provést metodu remove duplicates.

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. 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 toto vybrat.
  • 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é příklady 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 Odstranit duplikáty - 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: Začně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 musíme z prvního sloupce 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í, vyberte tedy „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 Odstranit duplikáty - 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 souborů 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 Range End Sub

Krok 2: Rozsah je objekt. Nastavíme rozsah jako náš výběr.

Kód:

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

Step 3: Now, instead of a range of cells, we can use the variable “rng.”

Code:

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.

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

Zajímavé články...