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

Съдържание

По -долу ще разгледаме програма в Excel VBA че премахва дубликати.

Ситуация:

В колона А имаме 10 числа. Искаме да премахнем дубликатите от тези номера и да поставим уникалните номера в колона Б.

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. Зададохме toAdd към True, като приемем, че следващото число също трябва да бъде добавено (това не е задължително да е вярно, разбира се).

uniqueNumbers = 1
toAdd = Вярно

Трябва да определим дали второто число е „уникално“ или не. Това може да стане по много лесен начин. Само ако номерът вече не е в колона B, второто число трябва да се добави към колона B.

4. Трябва също да проверим това за третия номер, четвъртия номер и т.н. За това стартираме цикъл For Next.

За i = 2 до 10

5. Сега идва най -важната част от програмата. Ако второто число е равно на едно от числата в колона B (засега имаме само един уникален номер), ние задаваме наAdd към False, защото в този случай не искаме да добавяме това число! (не е „уникален“). В момента uniqueNumbers все още е равно на 1, но uniqueNumbers може да бъде цял списък. За да проверим целия този списък, се нуждаем от друг цикъл For Next. Отново: ако числото, което искаме да добавим, е равно на едно от числата в този списък, toAdd ще бъде зададено на False и номерът няма да бъде добавен. Добавете следните кодови редове:

За j = 1 За уникални номера
Ако клетки (i, 1). Стойност = клетки (j, 2). Стойност след това
toAdd = False
Край Ако
Следващ j

6. Само ако toAdd е все още True и не е зададено на False, Excel VBA трябва да добави номера към колона B. В същото време увеличаваме uniqueNumbers с 1, защото сега имаме още един уникален номер. Следните кодови редове свършват работата:

Ако toAdd = True Тогава
Клетки (уникални номера + 1, 2). Стойност = Клетки (i, 1).
uniqueNumbers = uniqueNumbers + 1
Край Ако

7. И накрая, зададохме Добавяне към True, като приемем, че следващото число (трето число) трябва да бъде добавено. Отново това не е непременно вярно.

toAdd = Вярно

8. Не забравяйте да затворите цикъла.

Следва i

9. Поставете вашия макрос в команден бутон и го тествайте.

Резултат:

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave