VBA Удалить дубликаты | Как удалить повторяющиеся значения в Excel VBA?

Удаление дубликатов в VBA Excel

В Excel часто не требуются повторяющиеся значения, особенно если вы хотите подсчитать уникальные значения. Обычно у нас есть другой набор данных для работы, и мы видим в нем кучу повторяющихся значений.

Я надеюсь, что вы знакомы с удалением дубликатов на листе Excel, если не о чем беспокоиться, мы покажем вам простой пример. В VBA мы также можем использовать метод удаления дубликатов.

Итак, он удалил все повторяющиеся значения заголовка «Регион». Точно так же мы можем выполнить эту задачу с помощью кода VBA.

Как удалить повторяющиеся значения в коде VBA?

Чтобы сначала удалить повторяющиеся значения, нам нужно указать диапазон, на который мы ссылаемся, затем мы можем получить доступ к методу «Удалить дубликаты». Итак, синтаксис будет следующим.

[Столбец]: В каком столбце выделения нам нужно удалить дубликаты? Нам нужно указать номер столбца выбранного диапазона.

[Заголовок]: у выбранного диапазона есть заголовки или нет. Здесь у нас есть три варианта работы.

  • xlYes: если у данных есть заголовки, вы можете выбрать это.
  • xlNo: если данные не имеют заголовков, вы можете выбрать это.
  • xlGuess: эта опция позволит Excel угадывать заголовки данных.

Таким образом, используя эти параметры, мы можем удалить дубликаты одним нажатием кнопки, не беспокоясь.

В следующем разделе я покажу вам некоторые примеры удаления дубликатов с помощью VBA. Внимательно следуйте инструкциям, чтобы написать код самостоятельно.

Примеры удаления повторяющихся значений в коде VBA

Ниже приведены примеры удаления дубликатов в значениях VBA.

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

Рассмотрим также приведенные ниже данные для этого примера.

Из приведенных выше данных нам нужно удалить дубликаты столбца «Регион», поэтому выполните следующие шаги, чтобы написать код.

Шаг 1. Запустите подпроцедуру, присвоив коду макроса имя.

Шаг 2. Укажите диапазон данных с помощью объекта VBA Range .

Код:

Sub Remove_Duplicates_Example1 () Диапазон ("A1: C9"). Конец подписки

Шаг 3: После упоминания метода « RemoveDuplicates » VBA доступа к диапазону .

Код:

 Sub Remove_Duplicates_Example1 () Диапазон ("A1: C9"). RemoveDuplicates End Sub 

Шаг 4: Первый аргумент, в каком столбце нам нужно удалить повторяющиеся значения. В этом примере из первого столбца нам нужно удалить дубликаты.

Код:

 Sub Remove_Duplicates_Example1 () Диапазон ("A1: C9"). Столбцы RemoveDuplicates: = 1, End Sub 

Шаг 5: Следующее, есть ли у данных заголовки или нет. В этом случае у нас есть заголовки, поэтому выберите «xlYes».

Код:

 Sub Remove_Duplicates_Example1 () Диапазон ("A1: C9"). Столбцы RemoveDuplicates: = 1, Заголовок: = xlYes End Sub 

Запустите этот код, он VBA удалит дубликаты из выбранного региона.

Это явный способ обозначения диапазона ячеек. Если вы хотите выбрать диапазон самостоятельно, а затем удалить дубликаты, тогда нам нужно использовать переменную для работы. В приведенном ниже примере я покажу вам, как использовать переменные в VBA.

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

В приведенном выше примере мы специально указали диапазон ячеек. Теперь посмотрим, как работать с выделением собственных ячеек.

Например, у меня есть несколько наборов данных, как показано на изображении ниже.

Каждый раз я не могу явно указать диапазон ячеек, поэтому мы назначим выделение как диапазон.

Шаг 1. Объявите переменную как Range .

Код:

 Sub Remove_Duplicates_Example2 () Dim Rng As End Sub 

Шаг 2: Диапазон - это объект, который мы установим как наш выбор.

Код:

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

Шаг 3. Теперь вместо диапазона ячеек мы можем использовать переменную « rng ».

Код:

 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.

We have duplicated values in the first column and fourth column. So we will remove from these columns. Use the below code to VBA to remove duplicates.

Code:

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

You can download this VBA Remove Duplicates Excel here. VBA Remove Duplicates Excel Template