Vba: як отримати унікальні значення зі стовпця


Ви можете використовувати функцію AdvancedFilter у VBA, щоб швидко отримати список унікальних значень із стовпця в Excel.

Ось поширений спосіб зробити це:

 Sub GetUniqueValues()

Range(" A1:A11 ").AdvancedFilter_
                Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True

End Sub

Цей конкретний приклад витягує список унікальних значень із діапазону A1:A11 і відображає їх із клітинки E1 .

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: отримати унікальні значення зі стовпця за допомогою VBA

Припустімо, у нас є такий набір даних у Excel, який містить інформацію про різних баскетболістів:

Припустимо, ми хочемо отримати список унікальних значень зі стовпця Team .

Для цього ми можемо створити такий макрос:

 Sub GetUniqueValues()

Range(" A1:A11 ").AdvancedFilter_
                Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True

End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

У стовпці E тепер відображається список унікальних значень із стовпця Team у вихідному наборі даних.

Зауважте, що метод AdvancedFilter не враховує регістр.

Наприклад, якби ми мали назви команд «MAVS» і «Mavs» в одному стовпці, цей конкретний макрос повертав би лише перше з цих двох значень, які з’являються в стовпці «Команда », оскільки вони мають абсолютно однакові символи.

Примітка . Ви можете знайти повну документацію методу AdvancedFilter у VBA тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

VBA: як підрахувати клітинки з певним текстом
VBA: як підрахувати кількість рядків у діапазоні
VBA: Як підрахувати унікальні значення в діапазоні

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *