通过键盘快捷键调用的Excel宏需要插入代码才能工作

通过键盘快捷键调用的Excel宏需要插入代码才能工作,excel,vba,Excel,Vba,我有一个Excel宏,它在通过手动点击开始和通过“iRibbon”调用时工作,但在通过“键盘快捷键”调用时不工作。我已经尽可能地进行了调试,以找到问题代码行,但我不知道修复方法或根本原因。当我在代码中插入一个“停止”,然后在停止后点击“播放”,当通过“键盘快捷键”调用宏时,它工作。如果我注释掉停止符,宏将无法继续,不会出错 有什么想法吗 以下是宏: Sub KBTest() Application.OnKey "+^{H}", "Testing" End

我有一个Excel宏,它在通过手动点击开始和通过“iRibbon”调用时工作,但在通过“键盘快捷键”调用时不工作。我已经尽可能地进行了调试,以找到问题代码行,但我不知道修复方法或根本原因。当我在代码中插入一个“停止”,然后在停止后点击“播放”,当通过“键盘快捷键”调用宏时,它工作。如果我注释掉停止符,宏将无法继续,不会出错

有什么想法吗

以下是宏:

Sub KBTest()
 Application.OnKey "+^{H}", "Testing"
End Sub


解决方案是将
.Open
切换到
.Add
。这似乎是一个bug。有关更多详细信息,请参阅本文


可以使用公共URL和键盘快捷键复制。添加
ReadOnly
,例如更改为
Set URLWB=Workbooks.Open(URL,ReadOnly:=True)
,继续。@BigBen我在通过键盘快捷键呼叫时仍然遇到同样的问题,但我将使用您的improvements@BigBen知道了!看起来这是个骗局,但显然很难找到。还有一个MS错误。
Sub Test()
 Debug.Print "Here"
  
 Dim URL As String
 URL = "https://download.microsoft.com/download/1/4/E/14EDED28-6C58-4055-A65C-23B4DA81C4DE/Financial%20Sample.xlsx"
 Dim ActiveWB As Workbook, URLWB As Workbook
 Set ActiveWB = ActiveWorkbook
 'Stop 'With this stop, uncommented, I can run via KBShortcut
 Set URLWB = Workbooks.Open(URL, ReadOnly:=True)
 Debug.Print "WB Opened"
End Sub