如何激活使用VBA中工作簿的名称打开的工作簿
我已经打开了一个工作簿,但正在运行另一个工作簿的macros。 我想用它的名字激活第一个工作簿。
代码:
FileName = input_path_1 & input_file_1 Workbooks(FileName.xls).Activate
当我尝试这样做的时候,它给了我“下标超出范围”的错误。 我如何解决它?
检查你的variablesFilename
包含正确的文件名。 (例如Sample.xls )
同时检查input_path_1
和input_file_1
是否有正确的值。
如果他们有它应该是这样的:
Workbooks(Filename).Activate
现在,如果你需要附加扩展名(例如Filename
值就是Sample ):
Workbooks(Filename & ".xls").Activate
参数应该总是以string的forms,并且应该是完整的文件名(带有扩展名)。 尽pipe数字(索引)也被接受,但您不能确定哪个索引指向哪个工作簿。 更好的是,把它分配给一个variables。
Dim otherWB As Workbook Set otherWB = Workbooks(Filename) 'Set otherWB = Workbooks(Filename & ".xls") '~~> for second scenario above
编辑1:从注释,如果Filename
包含完整path,那么这可能工作。
Dim Filename1 As String Filename1 = Split(Filename, "\")(UBound(Split(Filename, "\"))) Workbooks(Filename1).Activate