探數據我有兩個工作簿,打電話給他們第一冊和第二冊。 Book1已打開,我正試圖從已關閉的Book2中將數據存入Book1。 Book1包含列出Book2中相應元素的列。例如,Book1有一列數字對應於Book2中的另一個數字列表。我正在嘗試使用VBA從Book2中的行中獲取數據,並將匹配的數字與Book1中的數據進行匹配。錯誤91(對象未設置)當關閉的工作簿
現在,我有以下MWE產生錯誤91(對象未設置),當我嘗試執行代碼:因爲它是
Dim path As String, book As String, sheet As String
Dim targetRng As Range, sourceRng As Range
path = Left(Cells(2, 1).Value, InStrRev(Cells(2, 1).Value, "\"))
book = Dir(Cells(2, 1).Value)
sheet = Cells(2, 2).Value
Set targetRng = Range("A1").CurrentRegion
Set targetRng = targetRng.Offset(1, 0).Resize(targetRng.Rows.Count - 1) 'Ignore header row
For i = 1 To targetRng.Rows.Count
Set sourceRng = "'" & path & "[" & book & "]" & sheet & "'!" & Range("A:A").Find(targetRng.Cells(i, 1).Value) 'Error is here
targetRng.Cells(i, 2).Value = ExecuteExcel4Macro("'" & path & "[" & book & "]" & sheet & "'!" & Cells(sourceRng.Row, 2).Address)
'
'Do some other stuff
'
Next i
我不能告訴你想要做什麼,但ExecuteExcel4Macro功能是不會返回一個範圍,所以你不能設置'sourceRng'等於宏的結果。 – OpiesDad
啊,這只是複製和粘貼時的一個錯誤。我是在此基礎上回答我的代碼:http://stackoverflow.com/questions/18069445/vba-excel-query-a-closed-workbook-without-opening-it –
那是什麼原因造成的錯誤。你糾正它,並得到一個新的錯誤? – OpiesDad