Excel宏 - 针对另一个工作簿运行

时间:2015-07-09 09:26:15

标签: excel vba excel-vba

早安全,

我只是想了解如何运行一个工作簿中的宏,但将宏过程/更改应用到另一个打开的工作簿中。

我想要实现的是一个工作簿就是说模板永远是开放的。我在该模板文件中有一个宏,它通过一个目录查找xlsm文件,并一次打开一个。我想要做的是当打开工作簿时,在模板文件中调用另一个宏来更新另一个打开的工作簿中的连接字符串详细信息。

我已准备好宏并且它们可以工作,但是我想在不必将代码复制到其中的情况下针对另一个工作簿运行它们。

这一切都可能吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

创建一个变量来存储工作簿,然后使用它来引用它。像这样:

'place this at the top of the module so that the variable can be used by all macros
Private wb As Workbook

'place this in your "browse and open" macro in place right after you open a workbook
Set wb = ActiveWorkbook

'now you can do whatever you want by referring to wb
wb.Worksheets("Sheet 1").Range("A1") = "Cell A1"
wb.Worksheets("Sheet 2").Range("C3").EntireRow.Delete
wb.Close

您也可以继续引用ActiveWorkbook,但是您必须确保它始终保持活动状态。如果您在此期间想要在模板工作簿上执行某些操作,则可以将其称为ThisWorkbook