VBA用不同的范围填充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 

它给出了一个主题超出范围的错误,但我不知道为什么?

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

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

根据你的意见,我build议你使用一个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