В тази статия ще създадем макрос за извличане на уникални стойности от определения диапазон.
Суровите данни за този пример се състоят от дублирани записи на имена на държави в диапазона A7: A21.
Създадохме макрос „FindUniqueValues“, за да извлечем уникални стойности от определения диапазон. Този макрос може да бъде стартиран, като щракнете върху бутона „Изпращане“. Преди да кликнете върху бутона „Изпращане“, трябва да посочим адреса на диапазона, който съдържа дублирани данни в клетката H9 и адреса на местоназначението, където трябва да се появи изходът.
Логично обяснение
Макросът „FindUniqueValues“ приема два обекта от диапазона като входни параметри. Първият параметър определя диапазона, който съдържа дублиращите се данни, а вторият параметър определя позицията на стартовата клетка, която ще съдържа изхода. Този макрос не може да бъде извикан директно, тъй като трябва да посочим параметрите, затова създадохме втори макрос „MacroRunning“, за да извикаме макроса.
Макросът „MacroRunning“ извиква макроса „FindUniqueValues“ с въведените от потребителя параметри.
Обяснение на кода
SourceRange.AdvancedFilter Действие: = xlFilterCopy, _
CopyToRange: = TargetCell, Unique: = True
Методът AdvancedFilter на Range обект се използва за филтриране или копиране на данни от диапазона въз основа на определени критерии. За да копираме само уникалните стойности, трябва да зададем Unique параметър на AdvancedFilter на True.
Моля, следвайте кода по -долу
Опция Explicit Sub FindUniqueValues (SourceRange As Range, TargetCell As Range) „Използване на предварително филтър за извличане на уникални елементи в обхвата на източника SourceRange.AdvancedFilter Action: = xlFilterCopy, _ CopyToRange: = TargetCell, Unique: = True End Sub Sub MacroRunning () Извикване на макрос FindUniqueValues Извикване FindUniqueValues (Обхват (Обхват ("H9"). Стойност), Обхват (Обхват ("H10"). Стойност))
Ако този блог ви е харесал, споделете го с приятелите си във Facebook. Също така можете да ни следвате в Twitter и Facebook.
Ще се радваме да чуем от вас, уведомете ни как можем да подобрим работата си и да я направим по -добра за вас. Пишете ни на имейл сайта