阅读量:10
VBA中的Filter()函数主要用于从数组或字符串中筛选出符合指定条件的元素,并返回一个新的数组或字符串。
语法: Filter(SourceArray, Match, [Include], [Compare])
参数说明:
- SourceArray:必选参数,表示要筛选的数组或字符串。
- Match:必选参数,表示要匹配的条件。可以是一个字符串、数字或布尔值。如果SourceArray中的元素与Match相等,则会被返回。
- Include:可选参数,表示要包含或排除的元素。默认值为True,即返回与Match相等的元素;如果为False,则返回与Match不相等的元素。
- Compare:可选参数,表示比较模式。默认值为vbBinaryCompare,表示使用二进制比较;如果为vbTextCompare,则表示使用文本比较。
返回值: 返回一个新的数组或字符串,其中包含了符合条件的元素。
示例: 以下示例演示了Filter()函数的使用方法:
Sub TestFilter() Dim arr() As Variant arr = Array("apple", "banana", "grape", "orange", "lemon") Dim filteredArr() As Variant filteredArr = Filter(arr, "a", True, vbTextCompare) Dim i As Integer For i = LBound(filteredArr) To UBound(filteredArr) Debug.Print filteredArr(i) Next i End Sub
输出结果:
apple banana grape
以上示例中,首先定义了一个数组arr,并将其赋值为包含了若干水果名称的数组。然后使用Filter()函数,将数组arr中包含字母"a"的元素筛选出来,并将筛选结果存储在filteredArr数组中。最后,使用For循环遍历filteredArr数组,并打印每个元素的值。输出结果为筛选出的包含字母"a"的水果名称。