首页 > 解决方案 > 三维数组中的二维范围

问题描述

我正在处理几张不同大小的表格。我想使用一个变量来收集所有这些信息。

这是我目前的代码:

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

这就是它返回的我有一个一维数组

但在每个部分都有一个范围

标签: vbaexcel

解决方案


问题解决了。

正如 QHarr 所说: temp 是一个数组数组。所以我可以使用 temp(1)(1,1) 按位置访问


推荐阅读