Excel - 通过VBA进行VLOOKUP

时间:2014-06-19 13:50:39

标签: excel vba vlookup

我想知道如何通过VLOOKUPVBA函数合并到我的Excel工作表中;将VLOOKUP函数直接输入单元格时,我对此感到非常满意,但我对VBA完全不熟悉。

一点信息:

  • 我有~5500行数据;
  • 我有多个命名范围(例如catNocatNoRange,仅举两个名称);
  • 我想使用VBA针对catNo检查catNoRange并返回catNoRange中第六(6)列的值;

我也想知道如何 - 以及在哪里 - 一旦我拥有它就显示结果;理想情况下,我希望它出现在单元格J4中(以及相应的单元格下至J5500)。

我怎样才能做到这一点?

其他信息:

对于那些想知道我为什么不使用常规VLOOKUP来实现这一点的人:我想使用VBA,因为我编写了一个脚本来检查某些单元格是否为空,以及如果至少填充了其中一个,那么VLOOKUP将执行,获取主搜索标准的填充单元格的值。

代码更新:

根据一些建议,我选择尝试使用Find函数而不是VLOOKUP。它不起作用;这就是我所拥有的:

Sub findCode()

    Result = WorksheetFunction.Find("ABI0010P", "5012616173004", "33787")
    Range("J4").Value

End Sub

1 个答案:

答案 0 :(得分:0)

对于find函数,你想要这样的东西

Dim ws As Worksheet
Set ws = Worksheets(2)
Rowz = ws.Cells(rows.Count, 1).End(xlUp).Row
k = 2
searchvalue= ws.Cells(k, 2)
Set SEARCHRANGE= ws.Range("A2:A" & Rowz)
Set Findx = SEARCHRANGE.find(searchvalue, LookIn:=xlValues)
If Not Findx Is Nothing Then ws.Cells(k, 4) = "what ever you want"