Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 在VBA中将工作簿名称更改为标准名称_Excel_Vba - Fatal编程技术网

Excel 在VBA中将工作簿名称更改为标准名称

Excel 在VBA中将工作簿名称更改为标准名称,excel,vba,Excel,Vba,我正在使用Excel中相当长的VBA代码,该代码引用了多个工作簿。我遇到的问题是,每个工作簿的名称每个月都会更改,以反映新的月份/日期,这要求我使用新工作簿名称更新代码,以使其正常工作。此外,名称的变更并非每个月都是标准的 对于VBA代码,是否有任何方法可以重命名代码使用某种标准名称的每个工作簿,这样我就不需要每次更改它?我知道我可以创建一个新变量,将其命名为“book1”,并更改其定义以反映工作簿的新名称,但每个使用宏的人都不知道如何使用VBA,因此不能每月只更改变量的名称。理想情况下,我希望

我正在使用Excel中相当长的VBA代码,该代码引用了多个工作簿。我遇到的问题是,每个工作簿的名称每个月都会更改,以反映新的月份/日期,这要求我使用新工作簿名称更新代码,以使其正常工作。此外,名称的变更并非每个月都是标准的

对于VBA代码,是否有任何方法可以重命名代码使用某种标准名称的每个工作簿,这样我就不需要每次更改它?我知道我可以创建一个新变量,将其命名为“book1”,并更改其定义以反映工作簿的新名称,但每个使用宏的人都不知道如何使用VBA,因此不能每月只更改变量的名称。理想情况下,我希望VBA始终将文件识别为另一个名称,而不管其真实名称如何,该名称是我设置的,并且不会更改。我在想,每个文件都有一个“技术名称”,它不会改变我可以使用的名称

我曾尝试过使用对话框,这样用户就可以输入文件的新名称,从而相应地更改代码,但如果可能的话,我希望避免这样做

这可能不可能,但还是要感谢您的帮助

2种可能性:

  • 您可以在工作簿中添加一张额外的工作表,并在此工作表中定义文件名是否正确。任何Excel用户都应该能够保持这些信息。当然,在运行长VBA代码之前,您可以检查文件是否存在
  • 例如,如果文件名为“filetobeused12\u august2013”,则可以搜索以“filetobeused12”开头的最新文件,并在代码中使用此文件。这无疑是更复杂的方法
希望有帮助,
max

工作簿的文件名是否也会更改?以下是一些关于如何引用工作簿的建议,可能会有所帮助。
工作簿.Open
方法将允许用户选择宏将针对哪些工作簿运行。您可以在
工作簿
对象变量上使用此方法,而不是字符串或硬编码项,如
工作簿(“c:\files\August\u Report.xlsx”)
等。