如何通过单击工作表中的 ActiveX 控件来调用用 Excel 编写的模块?
答案1
你问的是什么并不完全清楚,但我知道这是你的问题:
您有一个在单击事件上运行的 ActiveX 控件。此控件的 VBA 仅通过按钮单击来调用,不能从任何其他子程序调用,但您希望能够从另一个模块调用此代码。
我不相信你能做到这一点,但有更好的方法可以解决这个问题。将 ActiveX 控件的代码放在模块中的新 Sub 中。然后用以下内容替换按钮单击事件的代码:
Private Sub CommandButton1_Click()
Call NewSub
End Sub
你的新 Sub 的名字在哪里NewSub
?这应该可以让你做你想做的事。
答案2
ActiveX 控件的代码(例如工作表上的 button_click)可以从其他子程序调用,甚至在其他模块中调用。只需使用关键字“Public”而不是“Private”来描述 ActiveX 控件子程序即可。然后使用诸如 之类的语句调用该子程序Call Sheets(mySheetName).myButtonName_Click
。
答案3
要从 SHeet1 调用位于 ThisWorkbook 中的子例程:请执行以下操作:调用 ThisWorkbook.ParseText
其中定义:Public Sub ParseText()