我认为您可能正在寻找的是Multidimensional Array
一个标准的Array会在一个列表中保存一系列的值,这个列表中任意一点的值都可以被引用,例如:
myArray = Array("One", "Two", "Three")
'The first value in an array is at position 0 unless otherwise specified
MsgBox myArray(0) 'Will open a message box with the value "One"
MsgBox myArray(1) 'Will open a message box with the value "Two"
MsgBox myArray(2) 'Will open a message box with the value "Three"
虽然标准数组是一维的,但使用 Multidimensional Array 允许您向该列表添加多个维度。简单地说,一个二维数组会让你创建一个数据表。
dim myArray(1 to 3, 1 to 3) as Variant 将创建一个二维数组,同时指定“1 到 3”将分配一组可在数组中引用的项目大小和范围。以这张表为例:
A B C
D E F
G H 我
将其放入多维数组将如下
Dim myArray(1 To 3, 1 To 3) As Variant
myArray(1, 1) = "A"
myArray(1, 2) = "B"
myArray(1, 3) = "C"
myArray(2, 1) = "D"
myArray(2, 2) = "E"
myArray(2, 3) = "F"
myArray(3, 1) = "G"
myArray(3, 2) = "H"
myArray(3, 3) = "I"
MsgBox myArray(2, 2) 'Will open a message box with the value "E"
鉴于您希望从 Range("A1:C4") 生成此内容,您可以使用循环遍历每个单元格来创建此内容:
Dim myArray(1 To 4, 1 To 3) As Variant
For Each c In Range("A1:C4")
myArray(c.Row, c.Column) = c.Value
Next c