我正在尝试创建一个宏,它将根据AB中的内容修改S,W和AH列中的内容 例如如果AB1 =否,则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
由于
答案 0 :(得分: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