分享

数组(3)

 L罗乐 2017-04-07

除了介绍数组基础之外,我们还需要了解数组常用的一些方法。以下介绍两个最常用的数组处理函数

Index

使用Index函数可以调用数组里的指定位置的元素数据。
使用方法为

WorksheetFunction.Index(Array, row_num, col_num)

其中:
Array 代表一个数组
row_num 代表数组中行数
col_num 代表数组中列数

注意
row_num 和col_num都是从1开始的,因为我们也可以看到,这个函数时基于worksheetfunction的,而对于worksheet来讲,是不存在第0行或者第0列的。
Index函数只对==一维和二维==数组适用,不适用于多维数组

举个例子,我们有一个二维数组Arr(0 to 2, 0 to 3),我们如果想要获取arr(1,3)的值,就可以使用下面语句

WorksheetFunction.Index(Arr, 2, 4)

如果col_num 设置为0,那么就代表取出对应row_num的整行数据。反之,如果row_num 为0,就代表要取整列数据。
用下面代码举例,取出第一行和第一列数据,并赋值给新的数组。

Sub ArrayFunctions1() Dim Arr() Arr = [a1].CurrentRegion.Value Debug.Print WorksheetFunction.Index(Arr, 2, 3) Arr_Col = WorksheetFunction.Index(Arr, 0, 1) Arr_Row = WorksheetFunction.Index(Arr, 1, 0) End Sub

结合本地窗口,我们可以更清楚的看到新的数组赋值结果。

Join

用于把数组中的字符串使用给定的连接符连接起来。使用方法为

Join(sourcearray[, delimiter])

其中array为要连接的数组,delimiter为指定的字符串,如果忽略,则默认为空格。
举例:

Debug.Print Join(Array('str1', 'str2', 'str3', 'str4')) Debug.Print Join(Array('str1', 'str2', 'str3', 'str4'), 'x')

上面代码分别使用了空格(忽略delimiter),以及x连接了字符串数组,返回结果分别为:

str1 str2 str3 str4 str1xstr2xstr3xstr4

注意
如果数组中的元素是数字,系统会自动转化成字符串来处理,这也适用于数字和字符串混用的情况。
例如

Join(Array(11.1, 'a', 3))

返回

11.1 a 3

总结一下

  • 对一维二维数组的Index方法
  • Join方法

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多