Excel中的VBA返回类型不匹配

Pom*_*mul 0 excel vba excel-vba

我正在尝试创建一个宏,它将根据AB中的内容修改S,W和AH列中的内容,例如,如果AB1 = No,则S1 = C-MEM,AH = N/A,W被清除.

出于某种原因,我在if语句的第一行出现"类型不匹配"错误,无法弄清楚为什么或如何解决它 - 即使在阅读了有关类似问题的其他帖子之后.

Sub test()
    Dim lastrow As Long
    Dim i As Long
    lastrow = Range("AB" & Rows.Count).End(xlUp).Row
    For i = 2 To lastrow
    **->  If Range("AB" & i).Value = "No" Then
            Range("S" & i).Value = "C-MEM"
            Range("W" & i).Value = ""
            Range("AH" & i).Value = "N/A"
        End If
    Next i
End Sub
Run Code Online (Sandbox Code Playgroud)

谢谢

Sco*_*ner 5

您正在尝试测试错误是否= No.

测试错误并跳过该循环中的逻辑:

Sub test()
    Dim lastrow As Long
    Dim i As Long
    lastrow = Range("AB" & Rows.Count).End(xlUp).Row
    For i = 2 To lastrow
        If Not IsError(Range("AB" & i).Value) Then
            If Range("AB" & i).Value = "No" Then
                Range("S" & i).Value = "C-MEM"
                Range("W" & i).Value = ""
                Range("AH" & i).Value = "N/A"
            End If
        End If
    Next i
End Sub
Run Code Online (Sandbox Code Playgroud)