从另一个工作簿中运行指定工作表中的宏

时间:2013-04-04 12:48:20

标签: excel excel-vba vba

这是我的问题:我有两个工作簿,一个是我的,比如Projet.xlsm,另一个不是,比如Query.xlsm。 Query.xlsm在我和我公司的很多人之间共享,所以我无法对其进行修改。

我的project.xlsm旨在绘制一些使用Query.xlsm提取的数据。我的工作是使其成为一个自动化过程。

Query.xlsm如何工作:在第一张表上有一些选项可供选择;然后我们只需要点击第一张纸上的按钮。最后,所有数据都被提取出来并显示在第二张表中。

我在project.xlsm中构建了一个宏,打开Query.xlsm并选择我想要的选项。 现在我试着从我的project.xlsm中的宏中“单击按钮”(Query.xlsm中的sheet1)。我尝试过这样的事情:running excel macro from another workbook 但我想我必须在某个地方提到我的表格。

提前致谢

2 个答案:

答案 0 :(得分:1)

假设你打开了工作簿(这听起来像你这样做),即使在私有CommandButton Sub上,这对我也有用。

Workbooks("Query.xlsm").Sheets("Sheet1").CommandButton1 = True
Workbooks("Query.xlsm").Sheets("Sheet1").CommandButton1 = vbClick

答案 1 :(得分:0)

您可以在第一张工作簿的 Query.xlsm 工作簿中创建公共过程。 cmdClick是指activex命令按钮的名称。以下是示例代码。

Public Sub cmdClick()
    CommandButton1_Click
End Sub

您可以使用以下语法从 project.xlsm 调用此过程。

Workbooks("testing.xlsm").Sheets("Sheet1").cmdClick