Ubound(数组)函数清除数组

时间:2014-08-08 15:58:35

标签: arrays vba

我在VBA上相当新,但这个错误对我来说没有意义。我试图找到数组的ubber边界,但是当我运行uBound(数组)函数时,它会清除数组,然后返回错误;我无法弄清楚原因。我停止了代码"让ub = UBound(Unique,1)"并通过它迭代,它实际上在步骤1中的数组中有值,第2步清除了数组,第3步称为错误。这也是错误首次发生的位置。

感谢所有人的帮助:

Sub count_values(unique() As Variant, cccyarray() As Variant)

Dim m As Long
Dim n As Long
Dim b As Long
Dim ub As Variant
Dim ub2 As Variant

Let ub = UBound(unique, 1)
Let ub2 = UBound(unique)

1 个答案:

答案 0 :(得分:0)

我以前见过这种表示法,但我通常以不同的方式使用UBound。例如,如果Unique()。length为5且数组中的Last条目​​为“Orange”,则为:

UBound(Unique) 'Returns 5

Unique(UBound(Unique)) 'Returns Orange

基于此,我建议您是否要将Unique()的第一个条目存储到ub中

ub = Unique(1)

如果数组的最后一个条目进入ub2

ub2 = Unique(UBound(Unique))