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