分享

Excel之VBA常用功能应用篇:查询数组元素

 每天学学Excel 2022-05-05 发布于福建

数组是一系列常量的集合,在编程过程中大量运用数组可以提高程序运行速度,这是个很好的方法,针对数组的一些操作,可以很方便地对数据进行一些运算统计操作。

本文将介绍如何在一个数组中查询出特定的数组来。

我们用到一个内置函数,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函数特点是查询一维数组,如果是多维数组中查询,就要另辟蹊径了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多