我正在尝试将宏绑定到Excel 2010(v14.0)中的组合键。
在我ThisWorkbook
代码中:
Option Explicit
Private Sub Workbook_Open()
Application.OnKey "^+1", "Foo"
Application.OnKey "^+0", "Bar"
End Sub
在Module1
代码中:
Option Explicit
Sub foo()
MsgBox "hello"
End Sub
Sub bar()
MsgBox "world"
End Sub
当我按 CTRL + SHIFT + 1 Excel说“你好”。 当我按 CTRL + SHIFT + 0 Excel 不说“世界”。
我不能让Application.OnKey
使用^ + 0来处理任何宏。有没有办法做到这一点?为什么上面的代码不起作用?
答案 0 :(得分:1)
除了Jeeped的回答:
Alt - H - O - U - L 取消隐藏列Excel 2016.C隐藏它们。
你可以在Jeeped的代码中替换以下内容:
Commandbars("Column").Controls("Unhide").Execute
。
不知道它比EntireColumn.Hidden = False
有任何改进,但是到底是什么。
答案 1 :(得分:0)
您将内置菜单命令与自定义子过程等同起来。它们不能与Application.OnKey方法互换,但可以轻松创建自定义宏,以复制内置命令的功能。
在模块代码表中:
Sub myUnHideColumns()
With Selection
.EntireColumn.Hidden = False
'alternate toggle visible/hidden
'.EntireColumn.Hidden = Not .EntireColumn.Hidden
End With
End Sub
Sub myHotKeys()
Application.OnKey "^+0", "myUnHideColumns"
End Sub
在您的情况下,您可能希望将影响代码从myHotKeys
移至Workbook_Open事件宏。