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

BuZ*_*uZz 3 excel vba excel-vba

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

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

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

Ton*_*ore 5

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

打开包含它的工作簿时,将自动执行此宏.

Sub Auto_Open()

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

End Sub
Run Code Online (Sandbox Code Playgroud)

将执行以下例程而不是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
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅OnKey帮助.