从vba中的vlookup返回一个行号

时间:2012-12-10 17:25:32

标签: vba vlookup

我需要知道在这种情况下使用什么代码。

我在vba中使用vlookup来查找某个记录号。然后我需要知道记录所在的行号。我尝试了以下内容,但收到了错误:

nRowSavedRecord = [Vlookup(Cells(nRows, nColRecNmbr),Range("RecordInfo"),2,False).Row]

这给了我一个“Type Mismatch”错误。

nRowSavedRecord = Application.vlookup(cells(nRows, nColRecNmbr), Range("RecordInfo"),2,False).Rows

这给了我一个“Object Required”错误。

我确定我所缺少的一切都很简单 (nRowSavedRecordLong) 有人可以帮忙吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

你的问题有几个问题。

  • VLookup不是Application的属性,而是Application.WorksheetFunction
  • 的属性
  • VLookup返回值,而不是对单元格的引用,因此您无法从中获取行

您可能想要使用匹配功能,例如:

nRowSavedRecord = Application.WorksheetFunction.Match(Cells(nRows, nColRecNmbr), Range("RecordInfo"), 0)

最后0表示这是完全匹配。您还必须确保RecordInfo是一维范围

答案 1 :(得分:2)