我首次启动Excel时,我的Excel 2010宏快捷方式不起作用,但只有在我首先从VBE中手动运行它时才有效

时间:2014-12-10 11:16:04

标签: excel vba keyboard-shortcuts

我已经创建了一些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 个答案:

答案 0 :(得分:1)

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

尝试:

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