热点资讯

你的位置:杏彩体育注册 > 业务范围 > 关于不用循环直接获取VBA数组某行或者某列的值

关于不用循环直接获取VBA数组某行或者某列的值


发布日期:2024-10-14 13:56    点击次数:92


在使用VBA的过程中,我们有时会需要用到取数组某行数据或者某列数据的情况,但是又不想用循环取一个个获取,有什么办法呢?今天给大家介绍一个函数,一个工作表中常用的函数Index,但是它的用法跟工作表中却有点不一样。下面我们来看看怎么用。

如图,我有一个这样的成绩表,然后分别获取第三行和第四列的值。

图片

代码展示:

图片

Sub test() Dim arr, rowarr, colarr arr = Range('A1').CurrentRegion.Value '将数据存入数组 rowarr = Application.WorksheetFunction.Index(arr, 3, 0) '获取第三行的值 Debug.Print Join(rowarr, ' ') colarr = Application.WorksheetFunction.Index(arr, 0, 4) '获取第四列的值 Debug.Print Join(Application.Transpose(colarr), ' ')End Sub    效果展示:

图片

VBA中的Application.WorksheetFunction.Index是一个内置函数,用于从数组中返回指定行或列的数据。

该函数的语法如下

Application.WorksheetFunction.Index(array, row_num, [column_num])
参数说明:

array:必需,要返回数据的数组。

row_num:必需,要返回的行数,如果为0,则返回整个列的数据。

column_num:可选,要返回的列数,如果省略(为0),则返回整个行的数据。

注意当返回整列时,返回的是一个二维数组,返回某行时,返回的是一个一维数组

今天的教程就到这里啦,我们下期再见

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。