我的 Excel 2010 宏快捷方式在我第一次启动 Excel 时不起作用,但只有在我第一次从 VBE 中手动运行它时才起作用
Posted
技术标签:
【中文标题】我的 Excel 2010 宏快捷方式在我第一次启动 Excel 时不起作用,但只有在我第一次从 VBE 中手动运行它时才起作用【英文标题】:My Excel 2010 macro shortcuts do not work when i first launch Excel, but works only if I first manually run it from within VBE 【发布时间】:2015-02-08 13:35:46 【问题描述】:我创建了一些 excel 宏来帮助设置数字和文本格式(添加逗号分隔符,例如 1,000,000 但没有小数;更改字体颜色等)。这些已保存在个人工作簿中的一个模块中,以便在我使用 Excel 时可以使用它们。
格式化代码工作正常(据我所知),如下所示:
Sub Number_commas()
Selection.NumberFormat = "#,##0"
End Sub
和
Sub Font_colour()
For Each cell In Selection
If Selection.Font.Color = RGB(0, 0, 0) Then
Selection.Font.Color = RGB(0, 0, 255)
ElseIf Selection.Font.Color = RGB(0, 0, 255) Then
Selection.Font.Color = RGB(0, 128, 0)
Else
Selection.Font.Color = RGB(0, 0, 0)
End If
Next
End Sub
我还尝试使用 OnKey 为它们分配快捷方式。这是因为我希望能够使用宏选项窗口(从 Alt + F8 调用)不允许使用的字符。如下所示:
Sub Hotkey_Number_commas()
Application.OnKey "+^1", Procedure:="Number_commas"
End Sub
和
Sub Hotkey_Font_colour()
Application.OnKey "+^:", Procedure:="Font_colour"
End Sub
我面临的问题是每次打开 Excel 时,这些快捷方式都不起作用,除非我手动进入 VBE 并运行每个代码。之后,快捷方式可以正常工作,直到 Excel 关闭并重新启动并且问题再次出现。我在帮助网站上看到了截图,显示作者可以选择从宏窗口分配 CTRL+SHIFT 快捷方式,但奇怪的是我没有那个选项,只有CTRL 快捷键。
我束手无策,不确定是我的单行代码问题还是我的 Excel / 计算机设置有问题。任何指针将不胜感激!
【问题讨论】:
【参考方案1】:请参阅http://support.microsoft.com/KB/265113,其中说明了如何在您打开工作簿时运行宏。
试试:
Private Sub Workbook_Open()
Application.OnKey "+^1", Procedure:="Number_commas"
Application.OnKey "+^:", Procedure:="Font_colour"
End Sub
【讨论】:
以上是关于我的 Excel 2010 宏快捷方式在我第一次启动 Excel 时不起作用,但只有在我第一次从 VBE 中手动运行它时才起作用的主要内容,如果未能解决你的问题,请参考以下文章