簡體   English   中英

Workbook.Close()導致“運行時錯誤9”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM