簡體   English   中英

打開兩個不同的工作簿時出現運行時錯誤1004

[英]run time error 1004 in opening two different workbooks

我正在嘗試打開兩個不同的工作簿來傳輸數據。 工作簿的完整位置在當前工作簿的兩個單元中。 第一個工作簿可以正確打開,但是打開其他工作簿時出錯。 它說:

run time error 1004. File can't be found.

但是,如果我直接在代碼中使用工作簿的路徑,則可以正常工作。 有人請告訴我我在做什么錯。

Sub ProcessReport()


Dim MainWb As Workbook
Dim DestWb As Workbook


' Load source and destination files
Set DestWb = Workbooks.Open(Range("E10").Value)
Set MainWb = Workbooks.Open(Range("E6").Value)

' Code for manipulation


End Sub

在您的原始代碼中,第二個workbooks.open命令正在從工作簿“ DestWb”讀取單元格“ E6”,因為這是執行該命令時的activeWorkbook,而不是保存宏的工作簿。 您可以通過以下方法解決此問題:

Set DestWb = Workbooks.Open(Range("E10").Value)
Set MainWb = Workbooks.Open(Range("E6").Value)

對此:

Set Ws = ThisWorkbook.Sheets("Sheet1")
Set DestWb = Workbooks.Open(Ws.Range("E10").Value)
Set MainWb = Workbooks.Open(Ws.Range("E6").Value)

這會將宏正在運行的工作簿中的“ Sheet1”保存為對象引用,以便您的宏嘗試使用保存該宏的工作簿中“ E10”和“ E16”中的文件路徑。 Range("E6").Value現在已通過工作表ws限定。
您可以將“ Sheet1”更改為宏工作簿中文件路徑所在的任何選項卡。

暫無
暫無

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

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