Видалення дублікатів у Excel VBA - Прості макроси Excel

Зміст

Нижче ми розглянемо програму в Excel VBA що видаляє дублікати.

Ситуація:

У стовпці А ми маємо 10 чисел. Ми хочемо видалити дублікати з цих номерів і розмістити унікальні номери у стовпці B.

1. Спочатку ми оголошуємо чотири змінні. toAdd типу Boolean, uniqueNumbers типу Integer, i типу Integer і j типу Integer.

Dim toAdd As Boolean, uniqueNumbers As Integer, i As Integer, j As Integer

2. Далі, ми записуємо перший номер стовпця А до стовпця В, оскільки перше число завжди „унікальне”.

Клітинки (1, 2). Значення = Осередки (1, 1). Значення

3. Ми ініціалізуємо дві змінні. Ми щойно додали одне число до стовпця B, тому ініціалізуємо uniqueNumbers зі значенням 1. Ми встановили значення "Додати до True", припускаючи, що також потрібно додати наступне число (це, звичайно, не обов'язково вірно).

uniqueNumbers = 1
toAdd = Правда

Нам потрібно визначити, чи є друге число "унікальним" чи ні. Це можна зробити дуже простим способом. Тільки якщо номер ще не стовпець B, друге число потрібно додати до стовпця B.

4. Ми також повинні перевірити це на наявність третього числа, четвертого числа тощо. Для цього ми запускаємо цикл For Next.

Для i = 2-10

5. Тепер настає найважливіша частина програми. Якщо друге число дорівнює одному з чисел у стовпці В (поки що у нас є лише одне унікальне число), ми встановлюємо значення Додати до хибного, оскільки в цьому випадку ми не хочемо додавати це число! (це не "унікальний"). На даний момент uniqueNumbers все ще дорівнює 1, але uniqueNumbers може представляти собою цілий список. Щоб перевірити весь цей список, нам потрібен ще один цикл For Next. Знову ж таки: якщо число, яке ми хочемо додати, дорівнює одному з чисел у цьому списку, для toAdd буде встановлено значення False, і число не буде додано. Додайте такі рядки коду:

Для j = 1 До унікальних чисел
Якщо Cells (i, 1) .Value = Cells (j, 2) .Value Then
toAdd = False
Закінчити Якщо
Далі j

6. Тільки якщо toAdd все ще є істинним і не має значення False, Excel VBA потрібно додати число до стовпця B. Одночасно ми збільшуємо uniqueNumbers на 1, тому що зараз у нас є ще одне унікальне число. Наступні рядки коду виконують роботу:

Якщо toAdd = True Тоді
Клітинки (унікальні числа + 1, 2). Значення = Осередки (i, 1).
uniqueNumbers = унікальні числа + 1
Закінчити Якщо

7. Нарешті, ми встановили значення Додати до True, припускаючи, що потрібно додати наступне число (третє число). Знову ж таки, це не обов’язково відповідає дійсності.

toAdd = Правда

8. Не забудьте закрити цикл.

Далі i

9. Помістіть свій макрос у командну кнопку та протестуйте його.

Результат:

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave