簡體   English   中英

vba中的運行時錯誤9

[英]Run-time error 9 in vba

美好的一天,我在VBA中非常陌生,並且在指定路徑方面遇到問題,請考慮以下事項:

x = Workbooks(ThisWorkbook.Path & "/" & "06-17.xlsx").Worksheets(1).Cells(2, 1).Value

有了這段代碼,我會遇到運行時錯誤9,但是如果我使用以下代碼,它將運行正常:

Workbooks.Open (ThisWorkbook.Path & "/" & "06-17.xlsx")
x = ActiveWorkbook.Worksheets(1).Cells(2, 1).Value

我發現運行時錯誤9意味着只能在定義的范圍內訪問數組的元素和集合的成員,但是我不知道它與我的情況如何相關。 為什么會發生?

在第二個示例中,第二行執行時打開工作簿。
在第一個示例中,不能保證工作簿在執行時將打開。

Workbooks集合的索引是文件 (或整數),而不是文件path和name

因此, Workbooks(ThisWorkbook.Path & "/" & "06-17.xlsx")將無效(因為它包含路徑),而Workbooks("06-17.xlsx")將是有效的。

這就是為什么(或者至少與之相關的原因)即使文件名相同,也無法在Excel中同時打開兩個工作簿,即使它們是從兩個不同的目錄中打開的也是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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