我想知道如何在空动态数组中追加一个值。
我定义了以下数组为空
Dim ratioArray As Variant
然后,基于特定的IF条件,如果条件为真,我想附加值。所以我尝试了如下,但它返回了运行时错误' 13'。
ReDim Preserve ratioArray(UBound(ratioArray) + 1)
ratioArray = Cells(8+a,4+o)
a和o是整数变量。
ReDim Preserve有什么问题?
提前致谢!
答案 0 :(得分:0)
仅作为工作解决方案的一个例子:
Sub Test()
Dim ratioArray() As Variant
ReDim ratioArray(1)
ReDim Preserve ratioArray(UBound(ratioArray) + 1)
ratioArray(1) = Cells(1, 1)
End Sub
答案 1 :(得分:0)
UBound(ratioArray)
失败,因为当时不知道变体是一个数组。
将其设为数组:Dim ratioArray() As Variant
但是它仍然会失败,因为数组是无量纲的,您需要在读取Redim ratioArray(0)
之前的某个时刻调用Ubound()
。
分配单个值时,请使用索引:
ratioArray(0) = Cells(8+a,4+o)