目前有一个包含大量 If 语句的宏,这些语句遍历每一行并测试某些条件。需要添加到每个 if 语句的条件之一如下:如果 c1(我将其作为范围进行了暗化)=“#N/A”)。在问了几个人之后,我终于在我的每个 if 语句之前添加了正确的代码行作为另一个条件:
If CVErr(cl.Value) = CVErr(xlErrNA) And
不幸的是,当 cl.Value 不是“#N/A”时,这会一直搞砸。我想看看是否有一种方法可以启动宏,例如 Do While 或通过测试 cl.Value 是否为“#N/A”以及它是否通过所有其他 IF 来启动它语句,如果没有,则转到下一个单元格。请指教。谢谢你的帮助。
这只是一个快速示例/查看 4 If 语句,我添加了上面的行来测试“#N/A”,这会导致错误(说 13:类型不匹配)。
For Each cl In range("A2", range("A" & Rows.count).End(xlUp))
If CVErr(cl.Value) = CVErr(xlErrNA) And _
cl.Offset(, 11).Value = "Bond Deals" And cl.Offset(, 2).Value Like "*CLO*" Then
cl.Value = "CLO"
End If
If CVErr(cl.Value) = CVErr(xlErrNA) And cl.Offset(, 11).Value = "Bond Deals" And cl.Offset(, 12).Value Like "BCC*" Then
c1.Value = "CLO"
End If
If CVErr(cl.Value) = CVErr(xlErrNA) And _
cl.Offset(, 11).Value = "Bond Deals" And cl.Offset(, 14).Value Like "*CLO*" Then
c1.Value = "CLO"
End If
If CVErr(cl.Value) = CVErr(xlErrNA) And _
cl.Offset(, 11).Value = "Bond Deals" And cl.Offset(, 15).Value Like "*CLO*" Then
c1.Value = "CLO"
End If