Excel 如何使用book2模块1中的VBA代码调用book1第1页中的命令按钮
我在book1的Sheet1中有一个名为“extract data”的命令按钮,代码如下所述Excel 如何使用book2模块1中的VBA代码调用book1第1页中的命令按钮,excel,vba,Excel,Vba,我在book1的Sheet1中有一个名为“extract data”的命令按钮,代码如下所述 Private Sub ButtonExtractData_Click() 'code End Sub 我已经编写了以下代码,它给了我错误: 无法运行宏“Book1.sheet1.ButtonTractData\u Click”宏,该宏可能在此工作簿中不可用,或者可能已禁用所有宏 如何从其他工作簿触发此按钮单击?您不应该调用单击处理程序。不是来自另一个工作簿,不是来自它在其中实现的工作簿,也不是来自
Private Sub ButtonExtractData_Click()
'code
End Sub
我已经编写了以下代码,它给了我错误:
无法运行宏“Book1.sheet1.ButtonTractData\u Click”宏,该宏可能在此工作簿中不可用,或者可能已禁用所有宏
如何从其他工作簿触发此按钮单击?您不应该调用
单击处理程序。不是来自另一个工作簿,不是来自它在其中实现的工作簿,也不是来自任何地方。任何引发事件的对象触发事件时都会调用事件处理程序:它们是私有的,这是有原因的-任何其他代码都不应该直接调用它们
你不会用Java,不会用C,不会用VBA
处理程序位于工作表的代码隐藏中;它不是宏,而是实际存在于实例级别的实现细节,因为工作表模块是一种特殊的类模块,Sheet1
实际上是一个对象和应用程序。Run
不处理对象,它处理宏
获取该事件处理程序主体中的任何代码,将其移动到单独的“标准模块”(.bas)中的无参数公共子,然后让单击处理程序调用该过程
现在你有了一个宏。假设您将其命名为DoSomething
。您可以这样调用它:
Application.Run "'book1.xlsm'!DoSomething"
只要按钮追踪数据\u点击我觉得很棒!看看你是否不确定下一步该做什么;-)
Application.Run "'book1.xlsm'!DoSomething"