excel学习库

excel表格_excel函数公式大全_execl从入门到精通

VBA编程,如何搜索数组中特定内容,一个简单的操作教你学会

数组操作在VBA编程过程中应用很高效,如果熟练掌握一些数组使用方法,那么就会大大提高数据处理的过程。

本文介绍一下,如何在一个数组中查询某个值,然后返回查询到的结果,以数组形式返回。

如上图所示,应用到了Filter函数,VBA内置函数。

通过一个示例来了解一下使用方法,如下图所示:

查询数据表中一列数据,根据关键字进行检索,得到数据赋值给列表框。

就这么一个简单例子,使用两个过程即可实现。

如下代码:

重点,本函数是只能查询一维数组不能进行多维数组检索。

通过对一个一维数组检索某一个值返回一个数组,这个数组可以是包含查询关键字的数组也可是不包含关键字的数组,这样就给我们很方便地提取出一些想要或者不想要的数据来了。

其中有一个参数,include 参数来表示,如果为TRUE则返回包含关键字的数组,FALSE则返回不包含关键字的数组,关键字用Match参数来传递。

代码:

Sub GetArr()

'查询某值 并返回一个数组

Dim xArr, yArr

Dim ir As Long, i As Long

ir = 50

ReDim xArr(1 To ir)

For i = 1 To ir

xArr(i) = Cells(i, 3).Value

Next i

ActiveSheet.ListBox1.List = ScanArr(xArr, [f2], True)

Erase xArr

End Sub

Function ScanArr(xArr, xStr As Variant, xIn As Boolean)

'查询xArr数组 中符合xStr的项,返回一个一维数组,如果xIn为真则包含xStr,

'否则返回不包含xStr 的项目

On Error Resume Next

ScanArr = Array("")

Dim yArr

yArr = VBA.Filter(xArr, xStr, xIn, 0)

ScanArr = yArr

Erase yArr

End Function

数据处理是Excel应用的一个专业强项,通过数组操作更加可以便捷地实现数据管理过程,所以本文内容很有实际应用价值。

END

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接