如何在Excel VBA中手动声明类似Python嵌套列表的二维数组?
Excel VBA 二维数组手动声明方法(对应Python嵌套列表效果)
Python中示例l=[[1,0,0],[0,1,0],[0,0,1]]是3行3列的二维嵌套结构,在VBA中有两种常用的手动实现方式:
方式1:变体嵌套数组(写法最接近Python嵌套列表)
直接通过嵌套Array函数赋值,和Python写法逻辑高度相似,代码示例:
Dim l As Variant l = Array(Array(1, 0, 0), Array(0, 1, 0), Array(0, 0, 1))
注意事项:
- 取值采用双层索引格式,例如获取第一行第一个元素用
l(0)(0),默认下标从0开始 - 可在模块顶部添加
Option Base 1语句,将全局数组默认下标修改为从1开始
方式2:标准二维定长数组
适合固定维度的使用场景,性能优于变体类型数组,代码示例:
' 声明3行3列的整数类型二维数组,下标范围0~2 Dim l(0 To 2, 0 To 2) As Integer ' 逐位赋值 l(0, 0) = 1: l(0, 1) = 0: l(0, 2) = 0 l(1, 0) = 0: l(1, 1) = 1: l(1, 2) = 0 l(2, 0) = 0: l(2, 1) = 0: l(2, 2) = 1
注意事项:
- 取值采用
l(行索引, 列索引)格式,例如获取第一行第一个元素用l(0, 0) - 可根据存储内容调整数据类型,例如替换
Integer为Long、String、Double等
内容的提问来源于stack exchange,提问作者ghassen boughanmi
相关产品推荐
相关产品推荐

