VBA - 将单元格值附加到空数组

VBA - Append cell values to an empty array

我想知道如何在空动态数组中追加值。

我定义了以下为空的数组

Dim ratioArray As Variant

然后,根据特定的 IF 条件,如果条件为真,我想附加值。所以我尝试如下但它 returns 运行-time error '13'.

ReDim Preserve ratioArray(UBound(ratioArray) + 1)
ratioArray = Cells(8+a,4+o)

a 和 o 是整型变量。

ReDim Preserve 有什么问题?

提前致谢!

仅作为工作解决方案的示例:

Sub Test()

    Dim ratioArray() As Variant

    ReDim ratioArray(1)
    ReDim Preserve ratioArray(UBound(ratioArray) + 1)
    ratioArray(1) = Cells(1, 1)
End Sub

UBound(ratioArray) 失败,因为当时不知道变体是数组。

将其设为数组:Dim ratioArray() As Variant

但是它仍然会失败,因为数组是无量纲的,您需要在读取其 Ubound().

之前的某个时间点调用 Redim ratioArray(0)

分配单个值时,使用索引:

ratioArray(0) = Cells(8+a,4+o)