VBA Filter()函数的用法是什么

vba
791
2023/11/25 6:13:33
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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"的水果名称。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: vba数组赋值的方法有哪些