VBA Odstranit duplikáty

Excel má funkci, která se používá k odstranění duplicitní hodnoty z vybraných buněk, řádků nebo tabulky. Co když tento proces automatizujeme ve VBA? Ano, proces odstranění duplikátu lze automatizovat ve VBA ve formě makra. Při odstraňování duplikátu zůstanou jedinečné hodnoty v seznamu nebo v tabulce po dokončení. To lze provést pomocí funkce Odstranit duplikáty ve VBA.

Jak používat Excel VBA Odstranit duplikáty?

Naučíme se, jak používat duplikáty VBA Remove Duplicates, s několika příklady v Excelu.

Tuto šablonu VBA Remove Duplicates Excel si můžete stáhnout zde - VBA Remove Duplicates Excel Template

Příklad č. 1 - Odstranění duplikátů VBA

Máme pouze číslo od 1 do 5 až do řádku 20 ve sloupci A. Jak vidíme na obrázku níže, všechna čísla se opakují vícekrát.

Nyní je naší úlohou odstranit duplikát ze seznamu pomocí VBA. Za tímto účelem přejděte do okna VBA stisknutím klávesy F11.

V tomto příkladu uvidíme základní použití toho, jak může VBA Remove Duplicates pracovat pro čísla. K tomu potřebujeme modul.

Krok 1: Otevřete nový modul z nabídky Vložit, která je na kartě Nabídka Vložit.

Krok 2: Jakmile je otevřen, napište podkategorii VBA Remove Duplicate, jak je ukázáno níže.

Kód:

 Sub VBARemoveDuplicate1 () End Sub 

Krok 3: Při odstraňování duplikátu musíme nejprve vybrat data. Za tímto účelem budeme ve VBA vybírat funkci, dokud se nezvolí výběr úplného seznamu dat, jak je uvedeno níže.

Kód:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Vyberte End Sub 

Krok 4: Nyní vybereme rozsah vybraných buněk nebo sloupců A. Bude klesat, dokud nebudeme mít data v konkrétním sloupci. Nejen do řádku 20.

Kód:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Vyberte rozsah (Selection, Selection.End (xlUp)). Vyberte End Sub 

Krok 5: Nyní vyberte rozsah buněk v aktuálně otevřeném listu, jak je ukázáno níže. Tím se aktivuje celý sloupec. Do konce jsme vybrali sloupec A.

Kód:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Vyberte rozsah (Selection, Selection.End (xlUp)). Vyberte ActiveSheet.Range ("A: A"). End Sub 

Krok 6: Nyní použijte funkci RemoveDuplicate. Tím se aktivuje příkaz k odstranění duplicitních hodnot ze sekvence sloupců 1. Pokud existuje více sloupců, bude číslo přidáno a odděleno čárkami v závorkách jako (1, 2, 3, …).

Kód:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Vyberte rozsah (Selection, Selection.End (xlUp)). Vyberte ActiveSheet.Range ("A: A"). RemoveDuplicates Columns: = 1, End Sub 

Krok 7: Nyní použijeme příkaz Záhlaví, který přesune kurzor na nejvyšší buňku listu, která je většinou v záhlaví libovolné tabulky.

Kód:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Vyberte rozsah (Selection, Selection.End (xlUp)). Vyberte ActiveSheet.Range ("A: A"). RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Krok 8: Nyní sestavte kroky kódu stisknutím klávesy F8. Po dokončení klikněte na tlačítko Přehrát a spusťte kód, jak je uvedeno níže.

Jak vidíme, duplicitní číslo se ze sloupce A odstraní a zůstane pouze jedinečné číslo.

Příklad č. 2 - Odstranění duplikátů VBA

V tomto příkladu uvidíme, jak odstranit duplicitní hodnoty z více než jednoho sloupce. Z tohoto důvodu vezmeme v úvahu stejný duplicitní seznam jako v příkladu 1. Novým způsobem jsme však přidali další 2 sloupce se stejnými hodnotami, jak je uvedeno níže.

Toto je další metoda s trochu odlišným typem struktury kódu.

Krok 1: Otevřete nový modul ve VBA a zapište podkategorii do VBA Remove Duplicate. Pokud je to možné, přidělte mu pořadové číslo, aby bylo lepší zvolit správný kód, který se má spustit.

Kód:

 Sub VBARemoveDuplicate2 () End Sub 

Krok 2: Nejprve vyberte kompletní list ve VBA, jak je ukázáno níže.

Kód:

 Sub VBARemoveDuplicate2 () Cells.Select End Sub 

Krok 3: Nyní vyberte aktuálně otevřený list pomocí příkazu ActiveSheet a vyberte sloupce A až C, jak je ukázáno níže.

Kód:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). End Sub 

Krok 4: Nyní vyberte příkaz RemoveDuplicates a poté vyberte pole Sloupec od 1 do 3, jak je ukázáno níže.

Kód:

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

Krok 5: Při posledním použití bude příkaz Záhlaví zahrnut do procesu odstraňování duplikátů jako xlYes, jak je ukázáno níže.

Kód:

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

Krok 6: Nyní zkompilujte celý kód a spusťte jej. Jak vidíme níže, je vybrán celý list, ale duplicitní hodnoty jsou odstraněny ze sloupců A, B a C, přičemž se zachová pouze jedinečný počet.

Příklad č. 3 - Odstranění duplikátů VBA

Toto je další způsob odstranění duplikátu, což je nejjednodušší způsob, jak odstranit duplikát ve VBA. K tomu použijeme data, která jsme viděli v příkladu 1 a také níže.

Krok 1: Nyní přejděte do VBA a znovu napište podkategorii VBA Remove Duplicates. Dali jsme posloupnost každému kódu, o kterém jsme ukázali, že má správnou stopu.

Kód:

 Sub VBARemoveDuplicate3 () End Sub 

Krok 2: Jedná se o docela podobný vzorec, jaký jsme viděli v příkladu 2, ale jedná se o zkratku, jak napsat kód pro odstranění duplikátu. Pro tento první začněte přímo vybírat rozsah sloupce, jak je ukázáno níže. Zachovali jsme limit do 100. buňky sloupce A, počínaje 1, následovanou tečkou (.)

Kód:

 Rozsah sub VBARemoveDuplicate3 () ("A1: A100"). End Sub 

Krok 3: Nyní vyberte příkaz RemoveDuplicates, jak je znázorněno níže.

Kód:

 Rozsah Sub VBARemoveDuplicate3 () ("A1: A100"). RemoveDuplicates End Sub 

Krok 4: Nyní vyberte sloupce A jako u příkazu Sloupce s posloupností 1. A poté zahrňte záhlaví vybraných sloupců, jak je ukázáno níže.

Kód:

 Rozsah Sub VBARemoveDuplicate3 () ("A1: A100"). RemoveDuplicates sloupce: = 1, záhlaví: = xlYes End Sub 

Krok 5: Nyní jej zkompilujte stisknutím klávesy F8 a spusťte. Uvidíme, že náš kód odstranil duplicitní čísla ze sloupců A a jedná se pouze o jedinečné hodnoty.

Výhody VBA Odstranit duplikáty

  • Je užitečné při rychlém odstraňování duplikátů v libovolném rozsahu buněk.
  • Je snadné jej implementovat.
  • Při práci na obrovské datové sadě, kde je odstranění duplikátu obtížné ručně a zablokuje soubory a VBA Remove Duplicates funguje za sekundu a dává nám jedinečné hodnoty.

Nevýhody VBA odstranit duplikáty

  • Není užitečné používat VBA Remove Duplicates pro velmi malá data, protože to lze snadno provést pomocí funkce Remove Duplicate, která je k dispozici v pruhu nabídky Data.

Co si pamatovat

  • Rozsah lze vybrat dvěma způsoby. Jakmile je vybrána hranice buněk, jak je ukázáno v příkladu-1 a další je výběr celého sloupce až do konce, jak je znázorněno v příkladu-1.
  • Ujistěte se, že je soubor uložen v aplikaci Macro-Enabled Excel, což nám umožní použít psaný kód vícekrát, aniž by došlo ke ztrátě.
  • Hodnotu funkce Header můžete ponechat jako Yes, protože bude počítat i záhlaví při odstraňování duplicitních hodnot. Pokud neexistuje žádná duplicitní hodnota s názvem záhlaví, pak jej ponechat jako Ne, nic neublíží.

Doporučené články

Toto byl průvodce VBA Remove Duplicates. Zde jsme diskutovali o tom, jak používat Excel VBA Remove Duplicates spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -

  1. Práce s aktivní buňkou VBA
  2. Odstranění řádku ve VBA
  3. Jak používat Excel VBA Transpose?
  4. Jak opravit chybu 1004 pomocí VBA

Kategorie: