探数据我有两个工作簿,打电话给他们第一册和第二册。 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