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

AQ列为0的删除整行Fori=1To2000IfRange("AQ"&i).Value="0"ThenRows(i&":"&i).DeleteShift:=xlUpi=i... 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!)也要删除整行,但如果等于空的值(就是单元格里面什么都没有的)要保留行的。
本人是菜鸟,帮忙改一下.
谢谢
展开
 我来答
眯住眼串针
科技发烧友

推荐于2016-06-19 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:1.1万
采纳率:58%
帮助的人:3082万
展开全部

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
联剑a
推荐于2018-03-07
知道答主
回答量:11
采纳率:0%
帮助的人:4万
展开全部
增加一个或条件,取文本值,即可
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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友091a2700cd
2012-06-04 · TA获得超过103个赞
知道小有建树答主
回答量:408
采纳率:0%
帮助的人:250万
展开全部
If Range("AQ" & i).Value = "0" && Range("AQ" & i).Value = "#REF" Then
追问
缺少表达式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b591af5
2012-06-10 · TA获得超过552个赞
知道小有建树答主
回答量:331
采纳率:0%
帮助的人:204万
展开全部
你这个问题应该想办法不要出现#REF!才是正道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式