如何解决Excel VBA-下标超出范围,为变量分配了范围值
使用此数组时,尝试打印时下标超出范围。我看到LBound为1,并且在第一次迭代中,For循环中的nTemp = 1。任何有关这里出什么问题的指南?
copyArr = .Range(.Cells(1,moveRng.Column),.Cells(rowsUsed,moveRng.Column)).Value
Debug.Print vbTab & "copyArr range is " & LBound(copyArr) & " : " & UBound(copyArr)
For nTemp = LBound(copyArr) To UBound(copyArr)
Debug.Print vbTab & "copyArr(" & nTemp & ") = " & copyArr(nTemp)
Next nTemp
这里是错误发生之前调试输出的示例。
Found header 'Device Type' for moveRng at column # 6
Found header 'IP Address' for insertRng at column # 3
copyArr range is 1 : 3
变量在这里声明
Dim searchRng As Range,moveRng As Range,insertRng As Range,targetRng As Range,copyArr As Variant
Dim sTemp As String,deleteAddr As String
Dim nTemp As Long,copyOffset As Long,insertOffset As Long,deleteOffset As Long,rowsUsed As Long
任何指导将不胜感激。
解决方法
@BigBen应该为此得到赞扬。一维阵列和二维阵列的简单错误。
Debug.Print vbTab & "copyArr(" & nTemp & ") = " & copyArr(nTemp,1)
解决了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。