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

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

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 

需要一些指导。

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

所以改变

Sheets("Part2")Sheets("1.A")

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