VBA Премахване на дубликати

Excel има функция, която се използва за премахване на дублиращите се стойности от избраните клетки, редове или таблица. Ами ако този процес автоматизираме в VBA? Да, процесът на премахване на дубликата може да бъде автоматизиран в VBA под формата на макрос. В процеса на премахване на дубликата, след като приключи, уникалните стойности остават в списъка или таблицата. Това може да стане с помощта на функцията за премахване на дубликати във VBA.

Как да използвате Excel VBA Премахване на дубликати?

Ще научим как да използвате VBA Remove Duplicates с няколко примера в excel.

Можете да изтеглите този VBA Премахване на дублирания шаблон на Excel тук - VBA Премахване на дублирания шаблон на Excel

Пример №1 - VBA Премахване на дубликати

Имаме списък с числа, започващи от 1 до 5 до ред 20 само в колона А. Както можем да видим на снимката по-долу, всички числа се повтарят многократно.

Сега нашата работа е да премахнем дубликата от списъка от VBA. За това отидете до прозореца на VBA, като натиснете клавиша F11.

В този пример ще видим основна употреба на това как VBA Remove Duplicates може да работи за числа. За целта ни трябва модул.

Стъпка 1: Отворете нов модул от менюто „Вмъкване“, което е в раздела меню „Вмъкване“.

Стъпка 2: След като е отворена, напишете подкатегорията на VBA Remove Duplicate, както е показано по-долу.

Код:

 Sub VBARemoveDuplicate1 () Край Sub 

Стъпка 3: В процеса на премахване на дубликата, първо трябва да подберем данните. За това във VBA ще избираме функцията за избор, докато не изпадне, за да изберете пълен списък с данни, както е показано по-долу.

Код:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Избор End Sub 

Стъпка 4: Сега ще изберем обхвата на избраните клетки или колони А. Той ще се спуска, докато имаме данни в определена колона. Не само до 20-и ред.

Код:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Изберете диапазон (Selection, Selection.End (xlUp)). Изберете End Sub 

Стъпка 5: Сега изберете обхвата на клетките в текущо отворен лист, както е показано по-долу. Това ще активира цялата колона. Избрахме колона А до края.

Код:

 Под VBARemoveDuplicate1 () Selection.End (xlDown) .Изберете диапазон (Selection, Selection.End (xlUp)). Изберете ActiveSheet.Range ("A: A"). Край Sub 

Стъпка 6: Сега използвайте функцията RemoveDuplicate тук. Това ще активира командата за премахване на дублиращите се стойности от последователността на колоните 1. Ако има повече колони, числото ще бъде добавено и разделено със запетаи в скобите като (1, 2, 3, …).

Код:

 Под VBARemoveDuplicate1 () Selection.End (xlDown) .Изберете диапазон (Selection, Selection.End (xlUp)). 

Стъпка 7: Сега ще използваме командата Header, която ще премести курсора в най-горната клетка на листа, която е най-вече в заглавката на всяка таблица.

Код:

 Под VBARemoveDuplicate1 () Selection.End (xlDown) .Изберете диапазон (Selection, Selection.End (xlUp)). 

Стъпка 8: Сега компилирайте кодовите стъпки, като натиснете клавиша F8. След като го направите, кликнете върху бутона Възпроизвеждане, за да стартирате код, както е показано по-долу

Както виждаме, дублиращият номер се изтрива от колона А и остава единственото уникално броене.

Пример №2 - VBA Премахване на дубликати

В този пример ще видим как да премахнете дублиращите се стойности от повече от една колона. За това ще разгледаме един и същ дублиран списък, използван в пример-1. Но по нов начин сме добавили още 2 колони със същите стойности, както са показани по-долу.

Това е друг метод с малко по-различен тип структура на кода.

Стъпка 1: Отворете нов модул в VBA и напишете подкатегорията в VBA Remove Duplicate. Ако е възможно, тогава му дайте пореден номер, така че да е по-добре да изберете правилния код, който да стартирате.

Код:

 Sub VBARemoveDuplicate2 () Край Sub 

Стъпка 2: Първо изберете целия лист във VBA, както е показано по-долу.

Код:

 Sub VBARemoveDuplicate2 () Cells.Select End Sub 

Стъпка 3: Сега изберете текущо отворения лист с командата ActiveSheet и изберете колони от A до C, както е показано по-долу.

Код:

 Под VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). Край Sub 

Стъпка 4: Сега изберете командата RemoveDuplicates и след това изберете масив от колони от 1 до 3, както е показано по-долу.

Код:

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

Стъпка 5: На последно използване командата Header да бъде включена в процеса на премахване на дубликати като xlYes, както е показано по-долу.

Код:

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

Стъпка 6: Сега компилирайте целия код и стартирайте. Както можем да видим по-долу, целият лист е избран, но дублиращите се стойности са премахнати от колони A, B и C, като се запазва само уникален брой.

Пример №3 - VBA Премахване на дубликати

Това е друг метод за премахване на дубликат, който е най-простият начин за премахване на дубликат във VBA. За това ще използваме данните, които видяхме в пример-1 и също показани по-долу.

Стъпка 1: Сега отидете на VBA и отново напишете подкатегория на VBA Remove Duplicates. Дадохме последователност на всеки код, за който показахме, че има правилна песен.

Код:

 Sub VBARemoveDuplicate3 () Край Sub 

Стъпка 2: Това е доста подобен модел, който видяхме в пример-2, но бърз начин да напишете код за премахване на дубликат. За това първо директно започнете да избирате диапазона на колоната, както е показано по-долу. Запазихме ограничението до 100 -та клетка на колона A, започваща от 1, последвана от точка (.)

Код:

 Под VBARemoveDuplicate3 () Обхват ("A1: A100"). Край Sub 

Стъпка 3: Сега изберете командата RemoveDuplicates, както е показано по-долу.

Код:

 Sub VBARemoveDuplicate3 () Обхват ("A1: A100"). RemoveDuplicates End Sub 

Стъпка 4: Сега изберете колоните A, както при командите Колони със последователност от 1. И след това включете заглавката на избраните колони, както и показаните по-долу.

Код:

 Под VBARemoveDuplicate3 () Обхват ("A1: A100"). RemoveDuplicates Collons: = 1, Header: = xlYes End Sub 

Стъпка 5: Сега го компилирайте, като натиснете клавиша F8 и стартирайте. Ще видим, че кодът ни е премахнал дублиращите се числа от колони А и се съдържат само уникални стойности.

Плюсове на VBA Премахване на дубликати

  • Полезно е за бързо премахване на дубликатите във всеки диапазон от клетки.
  • Той е лесен за изпълнение.
  • Когато работите върху огромен набор от данни, където премахването на дубликата става трудно ръчно и окачва файловете, а VBA Remove Duplicates работи за секунда, за да ни даде уникалните стойности.

Минуси на VBA Премахване на дубликати

  • Не е изгодно да използвате VBA Remove Duplicates за много малки данни, тъй като това би могло да се направи лесно чрез функцията за премахване на дублиране, налична в лентата на менюто Data.

Неща, които трябва да запомните

  • Обхватът може да бъде избран по два начина. След като бъде избран лимитът на клетките, както е показано в пример-1 и други, е избирането на цялата колона до края, както е показано в пример-1.
  • Уверете се, че файлът е запазен в Macro-Enabled Excel, което ще ни позволи да използваме написания код многократно, без да го загубим.
  • Можете да запазите стойността на функция Header като Yes, тъй като тя ще отчита заглавката, докато премахва дублиращите се стойности. Ако няма дублирана стойност с името на името на Headers, тогава запазването й като No няма да навреди на нищо.

Препоръчителни статии

Това е ръководство за премахване на дубликати на VBA. Тук сме обсъдили как да използвате Excel VBA Remove Duplicates, заедно с практически примери и шаблон за Excel за изтегляне. Можете да разгледате и другите ни предложени статии -

  1. Работа с VBA Active Cell
  2. Изтриване на ред в VBA
  3. Как да използвате Excel VBA Transpose?
  4. Как да поправите грешка 1004 при използване на VBA

Категория: