VBA使用不同的范围填充2D阵列

时间:2017-05-10 15:28:46

标签: arrays excel vba excel-vba range

我想用几个未连接的命名范围填充2D数组。包含一列和恒定行数

代码:

Range("Range1").Select
LastRow = Selection.Rows.count

Dim data() as variant
Redim data(1 to 4,1 to LastRow)
data(1)=Range("Range1").value
data(2)=Range("Range2").value
data(3)=Range("Range3").value
data(4)=Range("Range4").value

它给出一个超出范围错误的主题,但我找不到原因?

1 个答案:

答案 0 :(得分:1)

您需要引用变体数组的两个维度。例如:

data(1, 1) = Range("Range1").value

<小时/> 根据您的意见,我建议您使用Collection代替

Dim data As Collection
Set data = New Collection

data.Add Range("Range1")
data.Add Range("Range2")
...

MsgBox data(1).Address 'returns the address of Range1