【问题标题】:Change Workbook Names to standard names in VBA将工作簿名称更改为 VBA 中的标准名称
【发布时间】: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") 等字符串或硬编码项。

标签: excel vba


【解决方案1】:

2 种可能性:

  • 您可以在工作簿中添加一个额外的工作表,并在此工作表中定义文件名是否正确。任何 Excel 用户都应该能够保持该信息。您当然可以在运行 Long VBA 代码之前检查文件是否存在。
  • 例如,如果文件名是“filetobeused12_august2013”​​,那么您可以搜索以“filetobeused12”开头的最新文件并在您的代码中使用该文件。这肯定是更复杂的方法!

希望有帮助, 最大

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 2021-04-29
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    相关资源
    最近更新 更多