Excel中vba的代码,判断是否等于某值做整行删除:

AQ列为0的删除整行
For i = 1 To 2000
If Range("AQ" & i).Value = "0" Then
Rows(i & ":" & i).Delete Shift:=xlUp
i = i - 1
End If
Next

End Sub

现在要追加一个条件:如果单元格无法计算(出现#REF!)也要删除整行,但如果等于空的值(就是单元格里面什么都没有的)要保留行的。
本人是菜鸟,帮忙改一下.
谢谢

VBA删除行

通常是从下往上查找目标值进行删除

这样才会不会误删

Sub test()
For i = 2000 To 1 step -1
If Range("AQ" & i).Value = "0"  or Range("AQ" & i).text = "#REF!" Then
    Rows(i & ":" & i).Delete Shift:=xlUp
End If
Next
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-07
增加一个或条件,取文本值,即可
For i = 1 To 2000
If Range("AQ" & i).Value = "0" or Range("AQ" & i).text = "#REF!" Then
Rows(i & ":" & i).Delete Shift:=xlUp
i = i - 1
End If
Next

End Sub本回答被提问者和网友采纳
第2个回答  2012-06-04
If Range("AQ" & i).Value = "0" && Range("AQ" & i).Value = "#REF" Then追问

缺少表达式

第3个回答  2012-06-10
你这个问题应该想办法不要出现#REF!才是正道

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网