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)
我想知道如何在空动态数组中追加值。
我定义了以下为空的数组
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)