到目前为止我写过这个,我打算做的是在D列中找到值ORDER31。如果满足这个条件,我想在同一行找到相应的值,但是从C列中找到case我使用了OFFSET()并将此值放入一个名为colC的变量中。然后,我希望使用此值进行查找,并提取一个我想要分配给newVal的新值。然后我希望将这个newVal分配给找到ORDER31的原始单元格。
我得到了424对象所需的错误,我不确定我哪里出错了?
Sub illHack()
Sheets("Data").Select
Dim colC As String
Dim newVal As String
For Each r In Intersect(ActiveSheet.UsedRange, Range("D:D"))
If r.Text = "ORDER31" Then
colC = r.Offset(0, -1)
newVal = Application.WorksheetFunction.VLookup(colC, Lookup.Range("I17:K22"), 2, False)
r.Offset(0, 0) = newVal
End If
Next r
Sheets("Control-Sheet").Select
End Sub
答案 0 :(得分:2)
由于Lookup是选项卡名称而不是代码名称,因此您需要使用:
newVal = Application.WorksheetFunction.VLookup(colC, Worksheets("Lookup").Range("I17:K22"), 2, False)