Vba Excel宏-针对其他工作簿运行

Vba Excel宏-针对其他工作簿运行,vba,excel,Vba,Excel,大家早上好 我只是想了解如何运行一个工作簿中的宏,但如何将宏过程/更改应用到另一个打开的工作簿中 我试图实现的是一个工作簿,即始终打开的模板。我在模板文件中有一个宏,它通过一个目录查找xlsm文件,并一次打开一个。我要做的是,当打开工作簿时,在模板文件中调用另一个宏,该宏将更新另一个打开的工作簿中的连接字符串详细信息 我已经准备好了宏,它们可以工作,但是我想在另一个工作簿上运行它们,而不必将代码复制到其中 这有可能吗 提前感谢。创建一个变量来存储工作簿,然后使用它引用工作簿。大概是这样的: 'p

大家早上好

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

我试图实现的是一个工作簿,即始终打开的模板。我在模板文件中有一个宏,它通过一个目录查找xlsm文件,并一次打开一个。我要做的是,当打开工作簿时,在模板文件中调用另一个宏,该宏将更新另一个打开的工作簿中的连接字符串详细信息

我已经准备好了宏,它们可以工作,但是我想在另一个工作簿上运行它们,而不必将代码复制到其中

这有可能吗


提前感谢。

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

'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
,但必须确保它在您想要处理它的所有时间都保持活动状态。如果同时您想在模板工作簿上执行某些操作,您可以将其称为
此工作簿

您可以将宏保存在PERSONAL.XLSB中,然后您打开的所有文件都可以使用它谢谢@Fabrizio我总是忘记PERSONAL.XLSB我会尝试一下。