【发布时间】:2021-11-29 12:31:41
【问题描述】:
我正在将另一个工作簿中的工作表导入到我当前的工作簿中。完成导入工作表后,我想关闭该其他工作簿。我使用的代码给出了错误运行时错误 9':下标超出范围。
Sub ImportWorksheet(MyPath As String, wbName As String)
ControlFile = ActiveWorkbook.Name
Workbooks.Open Filename:=MyPath
Sheets(1).Copy After:=Workbooks(ControlFile).Sheets(1)
ActiveSheet.Name = wbName
Workbooks(MyPath).Close SaveChanges:=False
Windows(ControlFile).Activate
End Sub
我也尝试过使用
Windows(MyPath).Activate
ActiveWorkbook.Close SaveChanges:=False
但我得到了同样的错误。
【问题讨论】:
-
我猜
MyPath是一个文件路径,当您通过Filename打开工作簿时它可以正常工作,但是当使用Workbooks().Close时,您需要列出工作簿的 name,而不是路径。尝试使用Workbooks(Dir(MyPath)).Close SaveChanges:=False。