Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3802|回复: 14

[已解决]当值等于零时删除该行

[复制链接]
发表于 2011-9-14 10:36 | 显示全部楼层 |阅读模式
如A列是编码,B列是名称,C列是数量,      当C列数量是0的时候,整行自动删除   请高手帮忙
最佳答案
2011-9-14 10:49
回复 huweifvba 的帖子

试试

Sub Macro1()
    Dim arr, rng As Range, i As Long
    arr = Range("C1:C" & Range("C65536").End(xlUp).Row)
    For i = 2 To UBound(arr)
        If arr(i, 1) = 0 Then
            If rng Is Nothing Then Set rng = Rows(i) Else Set rng = Union(rng, Rows(i))
        End If
    Next
    If Not rng Is Nothing Then rng.Delete
End Sub

发表于 2011-9-14 10:43 | 显示全部楼层
手工可以删除行,自动删除要用VBA吧。{:341:}
回复

使用道具 举报

发表于 2011-9-14 10:45 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-9-14 10:45 | 显示全部楼层
我发的是VBA版块呀
回复

使用道具 举报

发表于 2011-9-14 10:49 | 显示全部楼层    本楼为最佳答案   
回复 huweifvba 的帖子

试试

Sub Macro1()
    Dim arr, rng As Range, i As Long
    arr = Range("C1:C" & Range("C65536").End(xlUp).Row)
    For i = 2 To UBound(arr)
        If arr(i, 1) = 0 Then
            If rng Is Nothing Then Set rng = Rows(i) Else Set rng = Union(rng, Rows(i))
        End If
    Next
    If Not rng Is Nothing Then rng.Delete
End Sub

回复

使用道具 举报

发表于 2011-9-14 10:56 | 显示全部楼层
回复 huweifvba 的帖子

看附件,测试一下。看是不是你想要的结果。
回复

使用道具 举报

 楼主| 发表于 2011-9-14 10:59 | 显示全部楼层
回复 skyline_zwl 的帖子

测试过了,可以的,谢谢!
回复

使用道具 举报

发表于 2011-9-14 11:01 | 显示全部楼层
回复 huweifvba 的帖子

对不起,附件没有传上去。

新規Microsoft Office Excel 2007 Workbook.zip

7.93 KB, 下载次数: 20

回复

使用道具 举报

发表于 2011-9-14 11:02 | 显示全部楼层
回复 skyline_zwl 的帖子

感谢设置为最佳答案,处子作啊,谢谢
回复

使用道具 举报

 楼主| 发表于 2011-9-14 15:27 | 显示全部楼层
回复 skyline_zwl 的帖子

是我要感谢你才对,你都把第一次给了我。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-24 16:00 , Processed in 0.666476 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表