【VBA 语言中常用的数据格式】之数组Array使用详解
·
VBA 中存储和管理数据的结构 - 数组(Array)
每一种开发编程语言,都有设计其存储和管理数据的结构,根据语言的特色和所面对的问题,整体功能相近但实现细节和语法规则有不同,本章简单介绍Excel VBA 中最常见的数据结构 数组以及数组的启用方式。
一、数组优势总结
| 序号 | 优势 |
|---|---|
| A - | 基于内存运行速度远高于其他方案 |
| B - | 数组可以映射业务中多维数据,便于将逻辑和业务捆绑 |
| C - | 填充数组的内容方案多样,可以应对多种现实场景,构建数据方便 |
| D - | 基于index 的索引方式带来操作的便捷性 |
| E - | 在二维数组中可以轻松的将数组数据映射到Sheet 页中,减少交互和逻辑,可以直接一次性写出至Sheet中 |
二、数组数据的初始化
1. 直接定义赋值
代码如下:在处理工作表Head 命名的时候,很常用。
Sub method1()
Rem 直接定义数组,方式如下
arr_data = Array("红楼梦", "西游记", "水浒传", "三国演义")
Rem 将数组数据直接写入工作表 Sheet1 中
Sheets("Sheet1").Range("A1:D1") = arr_data
End Sub
代码执行效果展示:

2. 通过VBA自有功能,将一个excel 区域直接赋值给VBA 的变量
代码如下:
Sub method2()
Rem 将工作表区域直接赋值给变量,此时arr_data 就为一个数组,如下
arr_data = Sheets("Sheet1").Range("B3:C5")
Rem 将数组数据直接写入工作表 Sheet1 中
Sheets("Sheet1").Range("C10:D12") = arr_data
End Sub
代码执行效果展示:

3. 利用 Split 函数拆分功能实现
代码如下:
Sub method3()
Rem 利用 Split 函数功能拆分字符串等方式可以生成数组,在实际逻辑中也比较常用
Dim source_str As String
Let source_str = "2025-05-14"
arr_data = Split(source_str, "-")
Rem 将数组数据直接写入工作表 Sheet1 中
Sheets("Sheet1").Range("B2:D2") = arr_data
End Sub
代码执行效果展示:

4. 自定义函数(一维,二维,三维等多维数组),并自行代码逻辑填充赋值
代码如下:
Sub method4()
Rem 演示自定义二维数组 arr,即为 3行2列数据
Dim arr(1 To 3, 1 To 2)
arr(1, 1) = 1
arr(1, 2) = "蜀国"
arr(2, 1) = 2
arr(2, 2) = "吴国"
arr(3, 1) = 3
arr(3, 2) = "魏国"
Rem 将数组数据直接写入工作表 Sheet1 中
Sheets("Sheet1").Range("B1:C3") = arr
End Sub
代码执行效果展示:

总结
几种常见的初始化数组并填充数据的方法,数组是任何语言学习中十分重要的数据结构,也是VBA绕不开的一个话题
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)