三维阵列中的二维范围

时间:2018-06-05 15:23:12

标签: vba excel-vba excel

我正在制作几张不同大小的桌子。我想使用单个变量来收集所有这些信息。

这是我目前的代码:

ReDim temp(1 To NbSheets)
for i = 1 to NbSheets
    Set rt = Wb.Sheets(i).Range(Cells(1, 1), Cells(LastRow, LastCol))
    temp(i) = rt
Next i

使用此代码,temp包含所有信息,但它仍然是一维数组。

如何将这些范围放在变量中并调用值temp(x,y,z)?

感谢您的帮助!

奥利弗

编辑:

有关详细信息,请参阅以下代码。

MyPath = "Y:\"
PPMelem = Dir(MyPath & "*.xls*", vbDirectory)

ReDim temp(1 To NbSheets)


'Loop to open all the files
While PPMelem <> ""
    Workbooks.Open Filename:=MyPath & PPMelem, UpdateLinks:=False, ReadOnly:=True
    Set WbElem = ActiveWorkbook

    LastCol = WbElem.Sheets(1).Range("A1").End(xlToRight).Column
    LastRow = WbElem.Sheets(1).Range("A1").End(xlDown).Row


    'A range with all the information and I put in the variable
    Set rt = WbElem.Sheets(1).Range(Cells(1, 1), Cells(LastRow, LastCol))
    temp(NumFile) = rt

    WbElem.Close False

    PPMelem = Dir
Wend

这就是它返回的I have a one-dimension array

But in each part there is a range

1 个答案:

答案 0 :(得分:0)

问题解决了。

正如QHarr所说: temp是一个数组数组。所以我可以通过temp(1)(1,1)

的位置访问