VBA捕获“计算表(shift + f9)”和“计算工作簿”事件

时间:2011-11-30 14:18:43

标签: excel-vba vba excel

我不知道这是否是微不足道的或实际上是hacky:是否有可能在VBA中捕获“计算表(shift + f9)”和“计算工作簿”事件?

我想隐藏一些操作几千行的进程,只显示一些键值。我正在计算一个分布,数千行,并且只想输出百分位数和一些统计数据,以及图表而不是所有这些行。目前我正在考虑一个经典的宏按钮,但我的用户更热衷于F9的生活方式..

你认为我指的是标题中我建议的有趣内容吗?

1 个答案:

答案 0 :(得分:5)

OnKey命令允许您禁用任何键或组合键或使该键执行不同的操作。

当打开包含它的工作簿时,将自动执行该宏。

Sub Auto_Open()

  Application.OnKey "{F9}", "HandleF9"
  Application.OnKey "^{F9}", "HandleCtrlF9"
  Application.OnKey "+{F9}", "HandleShiftF9"

End Sub

将执行以下例程而不是Calculate。

Sub HandleF9()
  Debug.Print "F9 clicked"
End Sub
Sub HandleCtrlF9()
  Debug.Print "Ctrl+F9 clicked"
End Sub
Sub HandleShiftF9()
  Debug.Print "Shift+F9 clicked"
End Sub

有关详细信息,请参阅OnKey帮助。