如何在VBA中获得#N / A值?

我在Excel中有一个数据表,就像:

AB ------------- 1. aaa 11 2. bbb 22 3. ccc #N/A 4. ddd 44 

我已经写了一个VBA函数来获取值(col B)的关键(col A)Ex: =getValue(A1)

在这个例子中,如果我input=getValue(A3) ,函数就抛出#VALUE! 错误。 我正在debugging,并在VLOOKUP函数看到错误。 这是我的代码:

 Public Function getValue(ByVal key As Variant) 'get value of the cell at column B which has value 'key' at column A on same row column2GetValue = 2 useClosestMatch = False 'error here if colum2GetValue contain #N/A found = Application.WorksheetFunction.VLookup( _ key, _ Worksheets(SHEET_CACHE_NAME).Range("A:B"), _ column2GetValue, _ useClosestMatch _ ) getValue = found End Function 

如何在VBA中获得#N / A值? 感谢您的帮助!

您可以如下处理错误。

虽然我build议你考虑使用更全面的Find来代替Application.VLOOKUP

 Sub TestMe() Dim vTest As Variant vTest = Application.VLookup("TesT", Range("A1:B10"), 2, False) If IsError(vTest) Then MsgBox "Not found", vbCritical Else MsgBox "value is " & vTest End If End Sub