Vba: как получить уникальные значения из столбца
Вы можете использовать функцию AdvancedFilter в VBA, чтобы быстро получить список уникальных значений из столбца в Excel.
Вот распространенный способ сделать это:
Sub GetUniqueValues()
Range(" A1:A11 ").AdvancedFilter_
Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True
End Sub
Этот конкретный пример извлекает список уникальных значений из диапазона A1:A11 и отображает их из ячейки E1 .
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: получение уникальных значений из столбца с помощью VBA
Допустим, у нас есть следующий набор данных в Excel, содержащий информацию о различных баскетболистах:
Допустим, мы хотим извлечь список уникальных значений из столбца «Команда» .
Для этого мы можем создать следующий макрос:
Sub GetUniqueValues()
Range(" A1:A11 ").AdvancedFilter_
Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
В столбце E теперь отображается список уникальных значений из столбца «Команда» в исходном наборе данных.
Обратите внимание, что метод AdvancedFilter не учитывает регистр.
Например, если бы у нас были названия команд «MAVS» и «Mavs» в одном столбце, этот конкретный макрос вернет только первое из двух значений, появляющихся в столбце «Команда », поскольку они имеют одни и те же символы.
Примечание . Полную документацию по методу AdvancedFilter в VBA можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как подсчитать ячейки с определенным текстом
VBA: как подсчитать количество строк в диапазоне
VBA: Как подсчитать уникальные значения в диапазоне