Vba 考虑到错误代码,如何使用IF/THEN语句在一定范围内执行VLookUp语句?

Vba 考虑到错误代码,如何使用IF/THEN语句在一定范围内执行VLookUp语句?,vba,if-statement,range,vlookup,copy-paste,Vba,If Statement,Range,Vlookup,Copy Paste,我试图通过IF/THEN语句来做一个VLookUp 我的Excel公式是: =If(F2=G2,Today(),Vlookup(A2,[Range],15,FALSE)) 如果出现“不适用”错误,我将使用以下公式: =IF(VALUE(LEFT(C2,1))>8,N2+28,N2+14))" 我试图将它们组合在一个宏中,但无法计算出语法 以下是我目前正在“尝试”的内容: Set WS2 = ThisWorkbook.Sheets("Sheet

我试图通过IF/THEN语句来做一个VLookUp

我的Excel公式是:

    =If(F2=G2,Today(),Vlookup(A2,[Range],15,FALSE))
如果出现“不适用”错误,我将使用以下公式:

    =IF(VALUE(LEFT(C2,1))>8,N2+28,N2+14))"
我试图将它们组合在一个宏中,但无法计算出语法

以下是我目前正在“尝试”的内容:

    Set WS2 = ThisWorkbook.Sheets("Sheet2")
    Set WS4 = ThisWorkbook.Sheets("Sheet1 (2)")

    For RowNumber = Range("M" & Rows.Count).End(xlUp).Row To 2 Step -1
    With WS2
        If Range("F" & RowNumber).Value = Range("G" & RowNumber).Value Then Range("O" & RowNumber) = (Now) Else Range("O" & RowNumber) = MyStringVar1 = Application.WorksheetFunction.VLookup(Range("A" & RowNumber), WS4.Range("A2:V5000").Value, 15, False)"
        On Error GoTo 0
        If MyStringVar1 = "" Then Range("O" & RowNumber).Value = Range("O" & RowNumber).Value = "=IF(VALUE(LEFT(Range("C" & RowNumber).Value,1))>8,Range("N" & RowNumber).Value+28,Range("N" & RowNumber).Value+14))" Else Range("O" & RowNumber).Value = MyStringVar1
    End With
    Next RowNumber

我想你不需要求助于VBA。如果您将VLOOKUP封装在一个IFERROR公式中(如下所示),您可能只需要使用单元格公式就可以进行管理

=IF(F2=G2,Today(),IFERROR(VLOOKUP(A2,$A$2:$V$5000,15,FALSE),IF(VALUE(LEFT(C2,1))>8,N2+28,N2+14)))

我想你不需要求助于VBA。如果您将VLOOKUP封装在一个IFERROR公式中(如下所示),您可能只需要使用单元格公式就可以进行管理

=IF(F2=G2,Today(),IFERROR(VLOOKUP(A2,$A$2:$V$5000,15,FALSE),IF(VALUE(LEFT(C2,1))>8,N2+28,N2+14)))

我试图让一个宏为这些电子表格做很多其他的事情,所以我一直在使用VBA代码。我曾经用一个=IFNA公式来解决这个问题。我试图让一个宏为这些电子表格做很多其他的事情,所以我一直在使用VBA代码。我过去经常使用=IFNA公式来解决这个问题。