【问题标题】:Unable to run macro from Application.Onkey无法从 Application.Onkey 运行宏
【发布时间】:2018-05-16 15:18:49
【问题描述】:

我无法从 Application.Onkey 选项运行宏。按 T​​AB 键时显示以下消息:“无法运行宏“C:\...\Desktop\test.xlsm!abc'。该工作簿中的宏可能不可用,或者所有宏都可能被禁用。"

但是,按 Enter 键后,选择会转到下方 1 行(一如既往),而不是运行相同的宏。

我已启用信任设置中的所有宏并选中“信任对 VBA 项目对象模型的访问”。该文件已以 xlsm 扩展名保存。 此工作簿中包含以下所有宏:

Private Sub Workbook_Open()
    Test1
End Sub

Sub Test1()
    Application.OnKey "{TAB}", "abc"
    Application.OnKey "{ENTER}", "abc"
End Sub

Sub abc()
    MsgBox "TAB"
End Sub

谁能帮我解决这个问题?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    要使您的代码运行,请将Sub Test1abc 移动到一个模块中。

    然后,如果您的键盘上有 2 个 Enter 键,请按数字小键盘上的那个(较小的那个),您的代码应该可以工作。要使用大的,请像这样使用~

    Sub Test1()
        Application.OnKey "{ENTER}", "abc"  'The small one
        Application.OnKey "~", "abc"        'The huge one
    End Sub
    

    Application.OnKey MSDN

    【讨论】:

    • 感谢您解决第二个问题。我必须学会阅读:D
    • @KamilŚwięch - 不客气。第一个呢?
    • 我使用了评论中的解决方案。现在您的评论完全解决了我发布的问题^^
    【解决方案2】:

    我假设您的宏 abc() 位于“Ten_skoroszyt”(“ThisWorkbook”)模块中,它应该转移到单独的(新)模块中。

    【讨论】:

    • 感谢您解决主要问题。我也尝试将整个代码放入 Module 但结果相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    相关资源
    最近更新 更多