2013-04-04 90 views
0

这里是我的问题:我有两个工作簿,一个是我的,说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 但我想我必须在某处提到我的工作表的名称。

在此先感谢

回答

1

假设你打开工作簿(听起来像你这样做),即使在Private CommandButton子工具上,这也适用于我。

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

工程很好,非常感谢! – 2013-04-08 13:26:28

0

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

Public Sub cmdClick() 
    CommandButton1_Click 
End Sub 

您可以从project.xlsm使用下面的语法调用这个过程。

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

由于Query.xlsm被很多人使用,我无法轻易修改它。 – 2013-04-04 14:06:04

相关问题