424对象必需的错误

时间:2015-01-21 11:49:31

标签: excel excel-vba excel-formula vba

到目前为止我写过这个,我打算做的是在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

1 个答案:

答案 0 :(得分:2)

由于Lookup是选项卡名称而不是代码名称,因此您需要使用:

newVal = Application.WorksheetFunction.VLookup(colC, Worksheets("Lookup").Range("I17:K22"), 2, False)