相关疑难解决方法(0)

下标超出范围错误与数组 - 不明白为什么?

我已经声明了一个数组,Dim rArray() As Variant但是当我尝试使用存储在其中的值时(如下所示),我得到一个超出范围错误的下标.的UBound(rArray)LBound(rArray)两个返回值14和1,但在发生错误Debug.Print行.

如果我使用如下的for语句

For Each rArr in rArray
Run Code Online (Sandbox Code Playgroud)

然后它没有问题,但为了我创建这个数组的目的,我需要灵活地选择按顺序存储的每个项目 - 这意味着我需要使用下标来引用它们.

我已经尝试了多种方法来尝试解决这个问题而没有运气,并且在这一个问题上花了将近一半的时间.任何人都可以指出我需要改变什么才能让它发挥作用.

Set rng = Range("D4", Range("D4").End(xlDown))
rng.NumberFormat = "0"
rArray = rng.Value

For x = UBound(rArray) To LBound(rArray) Step -1
    Debug.Print rArray(x)
Next x
Run Code Online (Sandbox Code Playgroud)

编辑:另一个值得一提的事实是,他在一个函数中声明并使用了数组,但它不是从函数传递给函数.不能在函数中声明和使用数组吗?

arrays excel vba excel-vba

8
推荐指数
1
解决办法
6371
查看次数

标签 统计

arrays ×1

excel ×1

excel-vba ×1

vba ×1