我正在尝试编写一个Excel宏,该宏将对工作簿的1155个单独工作表(命名为Page 1、Page 2等)上K列的单元格9:100执行VLOOKUP。不过,我想在另一个工作簿中运行该宏。因此,我尝试将一个工作簿中的单元格作为目标,以填充另一个工作簿中的单元格值。
我有这个。但是,当我运行它时,它所做的只是用“#VALUE!"替换第一个工作表中指定单元格的内容。它对其他工作表没有任何作用。
Sub SearchPages()
Dim i As Integer
Dim cell As Range
Dim value As Variant
Dim result As Variant
Dim wb As Workbook
Set wb = Workbooks.Open("file.xls")
For Each cell In Range("K9:K100")
value = cell.value
result = "Not Found"
For i = 1 To 1155
On Error Resume Next
result = Application.VLookup(value, "Page " & i & "!K:N", 4, False)
On Error GoTo 0
If Not IsError(result) Then
Exit For
End If
Next i
cell.value = result
Next cell
End Sub
我想做的事情可能吗?任何见解都非常感谢!
1条答案
按热度按时间5vf7fwbs1#
您正试图从
wb
以外的位置访问VLookup。我只对你的代码做了几处改动:
你能给予一下吗,让我知道你的VLookup现在是否正常工作?