繁体   English   中英

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

[英]Excel Macro - Run Against Another Workbook

大家早上好,

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

我想要实现的是一个工作簿是说模板将始终打开。 我在该模板文件中有一个宏,它通过一个目录查找 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 ,但您必须确保它在您想要处理它的所有时间实际上都保持活动状态。 如果同时您想在模板工作簿上做一些事情,您可以将其称为ThisWorkbook

子 h()

'询问行号>>

k = InputBox("女巫行?")

' 您现在定义工作表 >>

Sheet2.Select

'现在你看到在这种情况下我使用了一个选定的单元格作为参考点>>

Sheet2.Range("a" & k).EntireRow.Delete

结束子

在 MS EXCEL Sheet1 中,转到“插入选项卡”,到“形状”,>>

选择一个圆角框,为其添加文本以使其直观,>>

更改文本和背景的颜色,然后:>>

通过“右键单击”选择您用鼠标创建的形状>>

并从出现的列表中选择“Assing Macro”,然后选择宏“h”

如果一切都符合这些迹象,我们将进行下一步>>

如果你点击它运行子。 因此,您将看到一个输入框,您可以在其中指定要删除的行号。


你去吧!

ps希望我清楚。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM