我正在处理大量数据,其中我的工作簿包含多张数据,我想使用“SAP Pull”表单中的“URR”表中的列来查看相关数据 . 因此,由于SAP Pull是包含所有数据的主表单,而URR包含具有相关数据的列,因此我将相关数据列复制到SAP Pull并尝试编写vlookup循环以查找列的每一行的相应数据 . 问题是我不断抛出一个名为Method'range'的对象'_Worksheet失败的错误 . 这是我的代码,因为我很困惑为什么我一直遇到这个问题 .
Dim wsThis As Worksheet
Dim aCell As Range
Sheets("URR").Columns(1).copy Destination:=Sheets("SAP Pull").Columns(22)
Set wsThis = Sheets("SAP Pull")
With wsThis
For Each aCell In .Range("V2:V")
.Cells(aCell.Row, 23) = Application.WorksheetFunction.VLookup( _
aCell.Value, wsThat.Range("A2:D3500"), False)
Next aCell
End With
End Sub
2 回答
您错过了第3个标准,它告诉Excel您要返回哪个列 .
当在
wsThat.Range("A2:D3500")
中找不到aCell.Value
时,您还需要处理该问题,当找不到该值时,它也会停止您的代码 .您需要以某种方式捕获错误 .
这将在每个单元格中放置
Not Found
,如果在该范围内找到该值,则它将把D列中的值放入该字段中 .您在VlookUp中缺少一个Statement .
第三个声明适用于将返回的列 .