【发布时间】:2013-10-16 02:58:56
【问题描述】:
我正在使用 Excel 中一个很长的 VBA 代码,它引用了多个工作簿。我遇到的问题是每个工作簿的名称每个月都会更改以反映新的月份/日期,然后我需要使用新的工作簿名称更新代码才能使其正常工作。此外,每个月的名称更改并不总是标准的。
为了 VBA 代码的目的,我有什么办法可以重命名代码使用某个标准名称的每个工作簿,这样我就不需要每次都更改它?我知道我可以创建一个新变量,将其命名为“book1”并更改其定义以反映工作簿的新名称,但是使用该宏的每个人都不知道如何使用 VBA,因此不能每个月都进入并更改变量的名称。理想情况下,我希望 VBA 始终将文件识别为另一个名称,而不管它的真实名称是什么,这是我设置的并且不会更改的名称。我在想每个文件都附有一些“技术名称”,我可以使用它不会改变吗?
我玩过使用对话框的想法,这样用户可以输入文件的新名称,从而相应地更改代码,但如果可能的话希望避免这种情况。
这可能会也可能不会,但仍然感谢您的帮助!
【问题讨论】:
-
工作簿的文件名也会改变吗?
-
以下是一些关于如何参考可能有用的工作簿的建议。 techrepublic.com/blog/10-things/…
-
Workbooks.Open方法将允许用户选择宏将针对哪些工作簿运行。您可以在Workbook对象变量上使用此方法,而不是像Workbooks("c:\files\August_Report.xlsx")等字符串或硬编码项。