8.1EXCEL「VBA」(下篇)--数组和定义函数
一、 什么是数组:所谓数组就是用来存储大量的数据的存储空间,数组在存储数据时是有序存储。数组中的每一个值被称为数组元素,每一个数组元素都有一个编号(即索引,也可以称为下标),从0开始到数组长度-1为止
二、一维数组
理论的东西,我就不单独拎出来写了,我拿一个基操案例,来把一维数组讲解一下
sub 数组
// 什么是数组:所谓数组就是内存中开辟出来的用来存储大量数据的存储空间
VBA中数组的分类:一维数组、二维数组
一维数组的定义
格式1:dim 数组名(长度) as 数据类型
dim score(3) as integer
一维数组的赋值,需要用到如下格式:数组名(编号/下标/索引) = 值
① score(0)=60
score(1)=70
score(2)=80
② for i=0 to 9 //用excel中sheet里的值给数组赋值
score(i)=sheets(3).cells((i+1),1)
next
一维数组值的获取
dim sum%
sum=score(0)+score(2)
msgbox(sum)
一维数组重新赋值:数组名(编号/下标/索引) = 值
score(1)=100
msgbox(score(1))
数组的遍历
dim sum2%,i%
① for i=0 to 2
msgbox(score(i))
next
② for i=LBound(score) to UBound(score)-1 //LBound(数组名)是用来取数组的最小下标
msgbox(score(i)) //Ubound(数组名)是用来取数组的长度
next
③ for each ele in score
msgbox(ele)
next
end sub
三、二维数组
和一维一样,理论知识省略,在基操案例中直接讲解
定义二维数组的格式:dim 数组名(行数,列数) as 数据类型
Dim arr(4, 3) As Integer
二维数组的赋值(从单元格中获取值)
dim i%,j%
for i=0 to 3
for j=0 to 2
arr(i,j)=sheets(3).cells((i+1),(j+1))
next
next
- 案例(求对角线上的和)