VBA Excel中的数组的Redim大小

mat*_*aus 1 arrays excel vba excel-vba

redim在VBA Excel中使用函数保留有一些问题.

我想要redim一个我已经在宏中使用的数组,而不清楚已经存在的数据.

我的宏看起来像这样:

Dim table_data As Variant
...
ReDim table_data(2 * n + 2 * m + 2 * n, table_case.ListColumns.Count - 1)
...
dim1 = UBound(table_data, 1)
dim2 = UBound(table_data, 2)
ReDim Preserve table_data(0 To dim1 + 2 * n, 0 To dim2)
Run Code Online (Sandbox Code Playgroud)

你知道我应该修改什么吗?

mie*_*elk 6

使用Preserve关键字时; 您只能为最后一个维度更改大小.声明的其他尺寸的大小必须保持不变.

下面的代码应该有效:

ReDim Preserve table_data(LBound(table_data, 1) To UBound(table_data, 1), 0 To dim2)
Run Code Online (Sandbox Code Playgroud)