Excel精英培训网

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

谁给一组代码,当某列不为空,则删除整行数据

[复制链接]
发表于 2022-1-14 13:23 | 显示全部楼层 |阅读模式
谁给一组代码,当某列不为空,则删除整行数据
举例当G列不为空,则删除这个整行数据。
发表于 2022-1-14 13:39 | 显示全部楼层
請測試看看,謝謝
Sub DelRow()
For i = Range("G65536").End(3).Row To 1 Step -1
    If Cells(i, 7) <> "" Then Rows(i).Delete
Next
End Sub

回复

使用道具 举报

 楼主| 发表于 2022-1-14 14:48 | 显示全部楼层
sam-wang 发表于 2022-1-14 13:39
請測試看看,謝謝
Sub DelRow()
For i = Range("G65536").End(3).Row To 1 Step -1

可以用,但是有几个问题
第一:第三行是标题,从第4行开始往下删除,
第二:删除好像是一行一行删除的嘛,每次看着一闪一闪的 要闪好久才删完,因为不一定有时候可能是三五六行,有时候可能最多上百行
回复

使用道具 举报

发表于 2022-1-14 15:28 | 显示全部楼层
透明世界1987 发表于 2022-1-14 14:48
可以用,但是有几个问题
第一:第三行是标题,从第4行开始往下删除,
第二:删除好像是一行一行删除的 ...

請再測試看看,謝謝
Sub DelRow()
Application.ScreenUpdating = False
For i = Range("G65536").End(3).Row To 4 Step -1
    If Cells(i, 7) <> "" Then Rows(i).Delete
Next
Application.ScreenUpdating = True
End Sub

回复

使用道具 举报

 楼主| 发表于 2022-1-18 14:26 | 显示全部楼层
sam-wang 发表于 2022-1-14 15:28
請再測試看看,謝謝
Sub DelRow()
Application.ScreenUpdating = False

还是不行哈,太慢了 删除要好半天才出来,或者可以换种思路,不要查出来再删除了,很慢,直接查询追踪表中入库单号为空的行数据出来,这样也可以,上表请大神赐教
供应商交期追踪表 - 副本.zip (201.61 KB, 下载次数: 8)
回复

使用道具 举报

发表于 2022-1-18 17:50 | 显示全部楼层
透明世界1987 发表于 2022-1-18 14:26
还是不行哈,太慢了 删除要好半天才出来,或者可以换种思路,不要查出来再删除了,很慢,直接查询追踪表 ...

按需求查找行并删除行操作需要:
1. 在源表进行删除;
2. 保留剩下行的所有单元格格式;
3. 删除 20000行 耗时不应超过 2秒。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 06:28 , Processed in 0.247735 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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