当我第一次启动Excel时,我的Excel 2010macros快捷键不起作用,但只有在VBE中手动运行它时才起作用

我已经创build了几个Excelmacros来帮助数字和文本格式(添加逗号分隔符,例如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为其分配快捷方式。 这是因为我希望能够使用Macro选项窗口(从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并运行每个代码,否则这些快捷方式不起作用。 然后捷径工作正常,直到Excelclosures并重新启动,问题重现。 我已经看到帮助网站上的截图显示,作者可以从macros窗口分配CTRL + SHIFT快捷键的选项,但奇怪,我没有这个选项,只有CTRL快捷键。

我在智慧的结尾,不知道这是我的单行代码,或我的Excel /电脑设置的问题。 任何指针将不胜感激!

请参阅http://support.microsoft.com/KB/265113其中介绍了如何在打开工作簿时运行macros。

尝试:

 Private Sub Workbook_Open() Application.OnKey "+^1", Procedure:="Number_commas" Application.OnKey "+^:", Procedure:="Font_colour" End Sub