- 定义数组变量
dim arr( 1 to 10)定义了一个可以容纳10个元素的一维数组变量arr,
dim arr(1 to 10,1 to 2) 定义了一个可以容纳20个元素的二维数组变量arr。
- 获取数组指定维度的上下标
LBound 和 UBound 函数可以分别获取数组指定维度的下标和上标。
- 定义动态数组
dim arr() 定义了一个动态数组变量,变量的名称为arr。当需要给该动态数组赋值时可以使用
redim Preserve arr(k) 这样每次赋值的元素都不会消失,可以保留。
array函数可以返回一维数组,其中默认情况下数组的下标是以0开始。
如下所示:
arr = Array(1, 2, 3) MsgBox arr(0)
filter函数可以对一维数组的元素执行模糊筛选,返回满足条件的子元素数组。
如下所示:
Sub QQ1722187970() arr = Array("abc", "a", "ab", "abcd", "dg") '提取arr数组中含有ab字符的子元素数组 arr1 = VBA.Filter(arr, "ab") 'arr1数组中将包含有元素"abc","ab","abcd" End Sub
filter函数 的语法 为Filter(sourcesrray, match[, include[, compare]])
第三参数include可以设置为true 或者false,如果是省略或者true,表示提取满足条件的子元素数组。如果是false,表示不满足条件的子元素数组。
如下所示:
Sub QQ1722187970() arr = Array("abc", "a", "ab", "abcd", "dg") '提取arr数组中不含有ab字符的子元素数组 arr1 = VBA.Filter(arr, "ab", False) 'arr1数组中将包含有元素"a","dg" End Sub
split函数把字符串按照分隔符拆分成以序号0开始的一维数组。
如以下代码所示split函数拆分的数组含有4个元素,分别是arr(0)、arr(1)、arr(2)、arr(3)。
Sub qq1722187970() s1 = "a,b,c,d" arr = Split(s1, ",") End Sub
通过split函数的第3个参数,还可以设置返回的数组结果。
erase语句可以清空动态数组的存储空间,重新初始化数组。
发表评论