数组是一系列常量的集合,在编程过程中大量运用数组可以提高程序运行速度,这是个很好的方法,针对数组的一些操作,可以很方便地对数据进行一些运算统计操作。 本文将介绍如何在一个数组中查询出特定的数组来。 我们用到一个内置函数,Filter。 功能:返回一个基于零的数组,该数组包含基于指定筛选条件的字符串数组的子集。 此函数实现了对于某个数组进行查询的功能,熟练运用可达到事半功倍的效果。 下图为Filter函数的语法结构: 根据以上说明,下面来做一个示例进行演示。 首先,要定义一个数组,定义的方法可以是下面这样的: Dim arr arr = Array("A", "B", "AB", "ABC", "D", "E", "F") 很显然arr就是一个内部有7个元素的字符串数组。 然后,我们在这个数组中查找字母“B”,然后返回数组元素。 可以使用如下代码: Filter(arr, "B", True, vbTextCompare))'返回一个数组,其中只有一个元素"B" 实际上,在使用的时候后面的两个参数可以直接省略,如: Filter(arr, "B") '返回一个数组,其中只有一个元素"B" 其中,的include参数是一个布尔值,其含义为,True表示返回包含关键字mach的数组元素,而False则是返回不包含mach关键字的数组元素。 这样,就有了两种查询的可能,比如要查询并返回某个值的所有元素,或者是查询并返回不包含某个值的数组元素。 代码: Private Sub SelectArr() Dim arr arr = Array("A", "B", "AB", "ABC", "D", "E", "F") With Range("E6") .Value = VBA.Join(VBA.Filter(arr, "ABC", True, vbTextCompare)) .Offset(1, 0).Value = VBA.Join(VBA.Filter(arr, "ABC", False, vbTextCompare)) End With End Sub 数组的应用可以快速高效解决很多实际问题,所以针对数组的一些相关内容都是必需要掌握的内容。 Filter函数特点是查询一维数组,如果是多维数组中查询,就要另辟蹊径了。 |
|