关 于 EXCEL 中 VBA 的 数 组 理 解 一 、什么是 VBA 数 组 不要把VBA 数组想的太神秘,它其实就是一组数字而已
把一组数按行、列排在一起,放在内存中
就是一个 VBA 数组
二、数 组 的 维数 数组的维数其实和文件管理的目录一样的,只有一层时就是一维
如果有两层则是二维数组(有行有列为二维),如果有三层,则是三维数组
VBA 中支持 1~3 维数组运算
Sub 数组示例() Dim x As Long, y As Long Dim arr(1 To 10, 1 To 3) '创建一个可以容下 10 行3 列的数组空间 For x = 1 To 4 For y = 1 To 3 arr(x, y) = Cells(x, y) '通过循环把单元格区域 a1:c4 的数据装进数组中 Next y Next x MsgBox arr(4, 3) '根据提供的行数和列数显示数组 arr(1, 2) = "我改一下试试" '你可以随时修改数组内指定位置的数据 MsgBox arr(1, 2) End Sub 总结:二维是由行和列表示的数组,如ARR(3,2)表示数组中第3 排第2 列的元素
而一维数组只是由一个元素决定,如ARR(4)表示数组中第4 个元素 三 、把单元格数据搬入内存: 一、声明: Dim arr as Variant '声明一个变量,不能声明其他数据类型 Dim arr(1 to 10, 1 to 2 ) , 这种声明也是错误的,固定大小的VBA 数组是不能一次性装入单元格数据 或:dim arr() 这种声明方式是声明一个动态数组,也可以装入单元格区域,构成一个VBA 数组
二、装入 arr =range("a9:c100") '装入很简单,变量 = 单元格区域 三、读出