У наставку ћемо погледати програм у Екцел ВБА то уклања дупликате.
Ситуација:
У колони А имамо 10 бројева. Желимо да уклонимо дупликате са ових бројева и ставимо јединствене бројеве у колону Б.
1. Прво, декларишемо четири променљиве. тоАдд типа Боолеан, уникуеНумберс типа Интегер, и типа Интегер и ј типа Интегер.
Дим тоАдд Ас Боолеан, уникуеНумберс Ас Интегер, и Ас Интегер, ј Ас Интегер
2. Затим уписујемо први број колоне А у колону Б јер је први број увек „јединствен“.
Ћелије (1, 2) .Вредност = Ћелије (1, 1) .Вредност
3. Покрећемо две променљиве. Управо смо додали један број у колону Б, па иницијализујемо уникуеНумберс са вредношћу 1. Поставили смо наАдд на Труе под претпоставком да је потребно додати и следећи број (ово није нужно тачно).
уникуеНумберс = 1
тоАдд = Тачно
Морамо да утврдимо да ли је други број „јединствен“ или није. То се може учинити на врло једноставан начин. Само ако број већ није у колони Б, други број треба додати у колону Б.
4. Ово такође морамо проверити за трећи број, четврти број итд. За ово започињемо петљу Фор Нект.
За и = 2 до 10
5. Сада следи најважнији део програма. Ако је други број једнак једном од бројева у колони Б (до сада имамо само један јединствени број), поставили смо наДодај на Нетачно јер у овом случају не желимо да додамо овај број! (није „јединствен“). У овом тренутку уникуеНумберс је и даље једнак 1, али уникуеНумберс може бити цела листа. Да бисмо проверили целу листу, потребна нам је још једна петља Фор Нект. Опет: ако је број који желимо да додамо једнак једном од бројева на овој листи, тоАдд ће бити постављено на Фалсе и број неће бити додат. Додајте следеће редове кода:
За ј = 1 За јединствене бројеве
Ако су ћелије (и, 1) .Вредност = Ћелије (ј, 2) .Вредност Тада
тоАдд = Фалсе
Крај Ако
Даље ј
6. Само ако је тоАдд још увек Труе и није подешено на Фалсе, Екцел ВБА мора да дода број у колону Б. Истовремено, повећавамо уникуеНумберс за 1 јер сада имамо још један јединствени број више. Следеће линије кода обављају посао:
Ако је тоАдд = Тачно
Ћелије (јединствени бројеви + 1, 2). Вредност = Ћелије (и, 1). Вредност
уникуеНумберс = уникуеНумберс + 1
Крај Ако
7. Коначно, поставили смо наДодај у Труе под претпоставком да је потребно додати следећи број (трећи број). Опет, ово није нужно тачно.
тоАдд = Тачно
8. Не заборавите да затворите петљу.
Затим сам
9. Поставите свој макро у командно дугме и тестирајте га.
Резултат: