VBA – 多个checkbox分配给同一个macros,如何确定哪个checkbox触发事件?

我在Excel表格上有20个checkbox。 我想要检测一个checkbox被点击,并单击哪个checkbox。

我知道我可以为每个checkbox做一个方法,但这绝对不是最好的方法。 所以我把每个checkbox分配给同一个macros:

Public Sub fieldCheck_Click() MsgBox "checkbox clicked" End Sub 

我怎样才能确定哪个checkbox激发了事件?

您可以查看Application.Caller以获取点击checkbox的名称,或者您可以在OnAction设置中传递一个或多个参数:例如,将“macroname”设置为

 'fieldCheck_Click "Item1"' (including the single- and double-quotes) 

要么

 'fieldCheck_Click "Item1", 55'