VBA - 多个复选框分配给同一个宏,如何确定哪个复选框被触发事件?

时间:2013-10-18 19:55:07

标签: excel vba events excel-vba

我在excel表上有大约20个复选框。我想检测何时单击一个复选框以及单击哪个复选框。

我知道我可以为每个复选框创建一个方法,但这绝对不是最好的方法。所以我将每个复选框分配给同一个宏:

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

如何确定触发事件的复选框?

1 个答案:

答案 0 :(得分:3)

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

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

'fieldCheck_Click "Item1", 55'