用于VLOOKUP的FOR循环在两个单元格中返回值并打印第三个单元格

时间:2018-03-23 16:40:07

标签: excel vba excel-vba excel-formula

比较2个单元格值并在第三个单元格中打印。这两个单元格值均来自if (a.isDefined) None else Some(makeB()),因此它具有vlookup#N/A,即使对于这两个值,它也应返回未在第三个单元格中提交

#VALUE

2 个答案:

答案 0 :(得分:2)

在测试值之前测试错误:

For i = 2 To NRScount75
    Range("P" & i) = "Not submitted" 'Assign Default Value
    If Not IsError(Range("O" & i)) Then
        If Range("O" & i) >= 0 Then
            If Range("O" & i) <= 10 Then
                Range("P" & i) = "Within SLA" 'values between 0 to 10
            Else
                Range("P" & i) = "Exceed SLA"  'values greater than 10
            End If
        End If
    End If
 Next i

答案 1 :(得分:1)

在检查数值之前先使用IsNumeric。

For i = 2 To NRScount75    
    if isnumeric(Range("O" & i)) then
        If Range("O" & i) >= 0 And Range("O" & i) <= 10 Then
            Range("P" & i) = "Within SLA" 'values between 0 to 10
        ElseIf Range("O" & i) >= 11 Then
            Range("P" & i) = "Exceed SLA"  'values greater than 10
        Else
            Range("P" & i) = "Not submitted"  'for negative values
        End If
    else
        Range("P" & i) = "Not submitted"  'for error or text values
    end if
Next i

您没有检查IsNumeric,&gt; = 0和&lt; = 10的空白单元格。为此,您需要检查Len(Range("O" & i))>0