我的 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 中手动运行它时才起作用的主要内容,如果未能解决你的问题,请参考以下文章

Excel里的宏有啥作用?

如何在excel中新建一个宏,设置快捷键?

如何在excel中新建一个宏,设置快捷键?

更改 excel 宏 快捷键

excel里面的宏怎么设置快捷键

如何在excel2007中实现宏的快捷键