VBA 数组下界越标错误9:如何解决和代码示例
在 VBA 中,数组的下界默认为 0,无法直接设置下界为 1。因此,在你的代码中,将下界设置为 1 会导致下界越界的错误。
要解决此问题,可以通过以下两种方式来修改代码:
- 将数组的下界设置为 0,然后调整循环和索引的范围。
Sub aaaa1()
Dim dataArr() As Variant
ReDim dataArr(1 To 2, 0 To 999, 0 To 6)
dataArr(1) = Worksheets(1).Range('A1:G1000').Value
dataArr(2) = Worksheets(2).Range('A1:G1000').Value
Dim i As Long, j As Long, k As Long
For i = 1 To 2
For j = 0 To 999
For k = 0 To 6
' 处理 dataArr(i, j, k)
Next k
Next j
Next i
End Sub
- 不更改数组的下界,使用默认的下界 0,并调整读取和处理数组的逻辑。
Sub aaaa1()
Dim dataArr() As Variant
dataArr = Worksheets(1).Range('A1:G1000').Value
Dim i As Long, j As Long
For i = 1 To 1000
For j = 1 To 7
' 处理 dataArr(i - 1, j - 1)
Next j
Next i
End Sub
在上述代码中,第一种方式将数组的下界设置为 0,并调整了循环和索引的范围。第二种方式保持数组的默认下界为 0,并调整了读取和处理数组的逻辑。
请根据你的具体需求选择其中一种方式进行修改。如果还有其他问题,请随时提问。非常抱歉之前给你带来的困惑。
原文地址: https://www.cveoy.top/t/topic/bXLV 著作权归作者所有。请勿转载和采集!