vba - Application.OnKey 错误, "%a"击键

标签 vba excel

我在“ThisWorkbook”对象中有以下代码:

Sub Workbook_Open()
    Application.OnKey "^a", "SS_1"
    Application.OnKey "^%a", "SS_1"
    Application.OnKey "%a", "SS_1"
End Sub

在一个单独的模块中,我有以下代码:
Sub SS_1()
MsgBox "Hello"
End Sub
"^a""^%a"击键执行SS_1 sub 完美,然后出现 MsgBox。

但是,"%a"击键似乎什么都不做,并且没有显示任何消息框。

是否有任何我不知道的独特因素会导致此按键操作与其他按键操作不同?

预先感谢您的帮助,

斯科特

最佳答案

这对我有用:

Option Explicit

Public Sub TestMe()

    Application.OnKey "^a", "Macro1"
    Application.OnKey "^%a", "Macro2"
    Application.OnKey "%a", "Macro3"

    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",false)"

End Sub

Public Sub Macro1()

    Debug.Print "Pryc"

End Sub

Public Sub Macro2()

    Debug.Print "Pryc2"

End Sub

Public Sub Macro3()

    Debug.Print "Pryc3"

End Sub

Public Sub UnTestMe() 'Run this to disable the shortcuts.

    Application.OnKey "^a"
    Application.OnKey "^%a"
    Application.OnKey "%a"

    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",true)"

End Sub

编辑:
为确保正常工作,您应该隐藏功能区。否则,它会在功能区上找到带有 A 的内容。并将其用作屏幕截图。

试试这个来隐藏功能区:Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",false)"
试试这个来返回它:Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",true)"

关于vba - Application.OnKey 错误, "%a"击键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43499447/

相关文章:

vba - 保护非空单元格VBA

performance - Range() VS Cells() - 运行时间

excel - 在 Excel 中出现大范围循环问题

excel - VBA 中匹配函数所需的错误对象

vba - 如何调整 32 位和 64 位 Excel VBA 日期处理之间的差异?

vba - 检查单元格是否为空 Excel VBA

Excel VBA - 以编程方式将代码行插入到工作表的 CodeModule 中的特定子宏

VBA(excel 2010)如果错误(如#N/A)然后移动到下一行

excel - 简化 Power Query 中的 Text.Contains

vba - 如果有数字继续替换 "and ',然后清理其余部分