excel中编写vba在点击ActiveX控件时获得控件本身,应该用什么?
可以用 me.activecontrol
该回答引用GPTᴼᴾᴱᴺᴬᴵ
要在VBA中获取当前活动的ActiveX控件本身,可以使用Me关键字,但需要注意的是,Me关键字实际上指向的是包含当前代码模块的对象,而不是ActiveX控件本身。
如果要获取ActiveX控件本身,可以通过设置控件的Tag属性,然后在点击事件中使用Sender来获取当前点击的控件,再通过控件的Tag属性来识别控件。
例如:
Private Sub CheckBox2_Click()
Dim ctl As MSForms.CheckBox
Set ctl = ActiveSheet.CheckBoxes(Application.Caller)
If ctl.Tag = "MyCheckBox" Then
MsgBox "You clicked MyCheckBox!"
End If
End Sub
其中,Application.Caller可以获取当前点击的控件的名称,ActiveSheet.CheckBoxes可以根据名称获取对应的控件对象。然后通过判断控件的Tag属性来识别控件。
其实,我的目的是做几组可以取消勾选的radio button group,有什么好办法吗?