带有特定文本的条件VLOOKUP

时间:2016-01-05 14:53:01

标签: excel excel-vba vba

我正在寻找一个VBA代码,可以帮助我在列“L”上应用VLOOKUP,但只包含具有特定文本的单元格。

例如,如果列“L”上的单元格中的值为“#N / A”,则应将其替换为VLOOKUP返回的值。如果该值不是“#N / A”,则不应更改单元格中的实际值。

以下是我尝试的代码

Range("L:L").NumberFormat = "mm/dd/yyyy"
lastrow6 = Range("K" & Rows.Count).End(xlUp).Row
Range("L3").Formula = "=IF(ISNA(VLOOKUP(A3,'[Ref_Data_Vivar.xlsx]Legacy PCO'!$A$2:$B$25628,2,0)),"""",IF(ISERROR(FIND(""#N/A"", VLOOKUP(A3,'[Ref_Data_Vivar.xlsx]Legacy PCO'!$A$2:$B$25628,2,0)))"
Range("L3").AutoFill Destination:=Range("L3:L" & lastrow3)
Range("L:L").value = Range("L:L").value

1 个答案:

答案 0 :(得分:0)

这样的事情可以解决问题:

Sub FindErrorInRange()

Dim cell As Variant
Dim rng As Range

'data range:
Set rng = Sheet1.Range("A1:A10")

For Each cell In rng

    'checks for '#N/A error:
    If CVErr(cell) = CVErr(xlErrNA) Then
        'do something here:
        MsgBox ("error found")
        'example:
        cell.Value = Application.WorksheetFunction.Lookup() '<-- insert your lookup values
    End If

Next cell

End Sub