![VBA 防止全局快捷方式运行错误代码](https://linux22.com/image/1449803/VBA%20%E9%98%B2%E6%AD%A2%E5%85%A8%E5%B1%80%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%E8%BF%90%E8%A1%8C%E9%94%99%E8%AF%AF%E4%BB%A3%E7%A0%81.png)
以下站点上的文章提供了一个技巧,当两个不同的工作表中的两个不同的宏被分配相同的键盘快捷键(Ctrl + 字母)时,如何防止全局键盘快捷键执行错误的 VBA 代码。
http://excel.tips.net/T002872_One_Shortcut_for_Two_Macros.html
文章提出了一个解决方案,但没有提供示例代码。有人能在 VBA 中解决以下情况吗?
解决方案:
您可以通过在每个宏的开头添加一些代码来保留相同的快捷键。让每个宏检查活动工作簿的名称。如果名称与该宏的预期名称匹配,则代码可以继续执行。如果不匹配,则代码可以激活另一个工作簿并直接在该工作簿中运行宏。
只需要代码...hmf
谢谢!
答案1
您可以使用 activeworkbook.name 获取工作簿名称 - 因此您可以轻松地围绕该名称编写 if 并在错误的书上使用该 exit sub