Excel 运行此代码时,VBA中的下标超出范围

Excel 运行此代码时,VBA中的下标超出范围,excel,vba,Excel,Vba,当我最初在调试模式下运行下面的代码时,没有问题。但是,当我停止并再次运行它时,它显示下标超出范围。为什么会这样?不知道为什么会出现这样的错误 Dim date1 As Double strDate1 = Sheets("Part2").Cells(i, 1).Value matchEndRow = Application.Match(CDbl(strDate1), Sheets("1.A").Range("A:A"), 1) MsgBox matchEndRow matchEndRow = ma

当我最初在调试模式下运行下面的代码时,没有问题。但是,当我停止并再次运行它时,它显示下标超出范围。为什么会这样?不知道为什么会出现这样的错误

Dim date1 As Double
strDate1 = Sheets("Part2").Cells(i, 1).Value
matchEndRow = Application.Match(CDbl(strDate1), Sheets("1.A").Range("A:A"), 1)
MsgBox matchEndRow
matchEndRow = matchEndRow - 1
MsgBox matchEndRow

需要一些指导。

作为评论的后续,代码运行时打开了另一个工作簿

如此变化

工作表(“第2部分”)
工作表(“1.A”)


ThisWorkbook.Sheets(“Part2”)
ThisWorkbook.Sheets(“1.A”)
解决了这个问题。

您在何处定义
i
?除此之外。。对于i=3到4。。下一步,这个代码在里面。它说
下标超出范围
类型不匹配
?下标超出范围它在哪一行失败?