如何VLOOKUP获得#N / VBA中的值?(How to VLOOKUP get #N/A va

2019-09-19 18:17发布

我有在Excel中的数据表,这是一样的:

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

我已经写了一个VBA函数来得到由键(COL A)值(列B)例如: =getValue(A1)

在这个例子中,如果I型=getValue(A3)功能是扔#VALUE! 错误。 我调试,看看错误在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

如何VLOOKUP获得#N / VBA中的值? 谢谢您帮忙!

Answer 1:

您可以处理如下的错误。

虽然我建议你看一下考虑使用更灵活的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


文章来源: How to VLOOKUP get #N/A value in VBA?