如何从Excel VBA中的工作表获取ActiveX活动控件

时间:2016-02-08 15:26:11

标签: excel-vba activex vba excel

我有一个电子表格,其中包含一些ActiveX控件,如组合框,文本框等...在每个控件的Change事件中,有一个函数接收ActiveSheet作为参数。这个功能在MainModule中。我需要的是从这个ActiveSheet中获取主动控件,记住这个控件是一个ActiveX控件。

例如,每次我在组合框,文本框等中进行更改时...我调用此函数,并通过ActiveSheet(作为参数传递)我可以知道我是否更改了组合框或文本框或列表框等...

提前感谢。

1 个答案:

答案 0 :(得分:0)

插入一个activeX复选框控件,并通过“属性”窗口将其命名为“ chkboxFoo”。

Dim IsFooChecked As Boolean : IsFooChecked = False
IsFooChecked = ActiveSheet.OLEObjects("chkboxFoo").Object.Value
If IsFooChecked Then
    MsgBox "BarMsg! You made it."
Else
    MsgBox "Try to check the checkbox then execute the program. " & _
           "You shall see a msgbox says BarMsg."

参考:http://blogs.infoextract.in/worksheet-controls-automation-using-vba/