Как использовать функцию vba filter?
Функция VBA FILTER указана в категории таблицы функций VBA. Когда вы используете его в коде VBA, он может возвращать строки из массива строк на основе строки, указанной вами как подмножество . Проще говоря, он может указать строку и будет искать все значения, где эта строка является частью основной строки.
Синтаксис
Фильтр(ArraySource,Соответствие,[Включить],[Сравнить])
Аргумент
- SourceArray : Массив со строками для фильтрации.
- Соответствие : строка, которую вы хотите отфильтровать в SourceArray.
- [Включить] : это логическое значение, определяющее, включает ли фильтруемое значение погоды совпадение или не включает [Это необязательный аргумент, и если он опущен, VBA по умолчанию имеет значение TRUE].
- [Сравнить] : строковое значение, определяющее сравнение, выполняемое при фильтрации массива. [Это необязательный аргумент, и если он опущен, VBA по умолчанию принимает vbBinaryCompare].
- vbBinaryCompare: для двоичного сравнения.
- vbTextCompare: для сравнения текста.
- vbDatabaseCompare: для сравнения баз данных.
Пример
Чтобы практически понять, как использовать функцию VBA FILTER, вам нужно просмотреть пример ниже, где мы написали код vba, используя ее:

Sub example_FILTER() Dim nameAry As Variant Dim myAry(0 To 4) As String myAry(0) = Range("A1").Value myAry(1) = Range("A2").Value myAry(2) = Range("A3").Value myAry(3) = Range("A4").Value myAry(4) = Range("A5").Value nameAry = Filter(myAry, "Sh") End Sub
В приведенном выше коде мы использовали FILTER, чтобы получить значение из массива (myAry имеет значения из определенных нами ячеек), который включает в себя «Sh», и теперь «nameAry» включает в себя «Jay Sh» и «Peter». Sh’, потому что оба содержат «Sh».
Комментарии
- Если предоставленный вами исходный массив имеет значение NULL, VBA вернет ошибку.
- Массив, возвращаемый фильтром, всегда будет одномерным массивом с отсчетом от нуля.