我以前遇到过这个问题,但它似乎是零星的 . 最近我经常看到它,所以我想询问是否有人知道如何避免这个问题 .

我正在运行Excel 2013,在我的代码中,我让用户选择要打开的文件,然后VBA打开所述文件 . 这工作正常,但如果我逐行逐步执行代码,它将始终在Workbooks.Open命令之后继续运行代码,就好像我已经点击了F5 .

fileToOpen = Application.GetOpenFilename("Excel Files,*.xlsx")
If (fileToOpen = "False") Then
    MsgBox ("No file selected; aborting")
    Exit Sub
End If
thisWB = ActiveWorkbook.Name
Workbooks.Open Filename:=fileToOpen, Origin:=xlWindows, UpdateLinks:=0
logicWB = ActiveWorkbook.Name

从最后一行(logicWB = ActiveWorkbook.Name)开始,代码将继续运行,直到它到达下一个断点或宏的结尾 .

今天我也开始在MsgBox命令之后看到这种行为(我使用MsgBox而不是Debug.Print,因为我需要用户在运行时看到MsgBox),这令人非常沮丧 . 到目前为止,我一直在尽力记住在这些命令之后立即添加一个断点,但这显然不是一个理想的解决方案 .

我应该寻找某个地方吗?或者是否有其他人看到过这种行为并想出办法阻止它?

谢谢 .