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: Як підрахувати унікальні значення в діапазоні