[英]Workbook.Close() causes “Run-time error 9”
我對VBA有點陌生,我正在嘗試制作一個Sub()
來從另一個Excel工作簿中讀取數據。 它可以通過打開工作簿,從中讀取來工作,然后我想再次關閉工作簿。 最后一部分是導致以下錯誤的原因:
運行時錯誤“ 9”:
下標超出范圍
嘗試關閉文件時,我看不到為什么出現此錯誤。 我希望你們能參加。 如果我注釋掉Close()
部分,它會起作用...
碼
Option Explicit
Sub Test()
Dim Path, Filename
Dim sh1 As Worksheet, sh2 As Worksheet, sh3 As Worksheet, transmitWorkbook As Workbook, revieveWorkbook As Workbook
'Define a variable for the workbook which is to recieve data
Set revieveWorkbook = ActiveWorkbook
Path = "C:\Test Folder\"
Filename = "FileToReadFrom.xlsx"
'Open workbook which is to transmit, if its not already open
If Is_WorkBook_Open(Path & Filename) Then
Set transmitWorkbook = Workbooks(Path & Filename)
Else
Set transmitWorkbook = Workbooks.Open(Path & Filename)
End If
revieveWorkbook.Sheets(1).Range("A1").Value = transmitWorkbook.Sheets(2).Range("F9").Value
revieveWorkbook.Sheets(1).Range("B1").Value = Month(transmitWorkbook.Sheets(2).Range("H9").Value)
Workbooks(Path & Filename).Close SaveChanges:=False
End Sub
如Jeeped的評論中所述,路徑名不再用於關閉工作簿。 正確的代碼是
Workbooks(Filename).Close SaveChanges:=False
謝謝大家的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.