ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何一次性删除所有单元格中包含指定字符的行?

如何一次性删除所有单元格中包含指定字符的行?

作者:绿色风 分类: 时间:2022-08-17 浏览:109
楼主
omnw
Q:如何一次性删除所有单元格中包含指定字符的行?
A:下面的代码可以允许用户输入一个条件,然后删除所有单元格中包含输入字符的数据行。
  1. Sub DelRow()
  2.     Dim firstaddress As String, rng As Range, str As String, tmp As Range
  3.     str = InputBox("请输入单元格中包含的内容:")    '输入待删除行中包含的字符
  4.     With Cells '指定信息所在的区域,可以调整为指定的列
  5.         Set tmp = .Find(str)    '查找第一个符合条件的单元格
  6.         If Not tmp Is Nothing Then    '如果存在符合条件的数据行
  7.             Do
  8.                 If rng Is Nothing Then    '如果存放查询结果的变量未使用过
  9.                     Set rng = tmp    '将第一个符合条件的单元格赋值给变量
  10.                     firstaddress = tmp.Address    '保存第一个符合条件单元格的地址
  11.                 Else
  12.                     Set rng = Union(rng, tmp)    '将所有符合条件的单元格保存在同一个变量中
  13.                 End If
  14.                 Set tmp = .FindNext(tmp)    '继续查找下一个符合条件的单元格
  15.             Loop While tmp.Address <> firstaddress    '判断是否绕回,以确定是否完成所有数据的查询
  16.             rng.EntireRow.Delete    '删除符合条件的数据行
  17.         End If
  18.     End With
  19. End Sub


利用VB删除要求单元格所在行.rar
2楼
hyl_2010
if str = "" then GoTo 100


100

End sub
3楼
张雄友
请看附件。不能完成。
利用VB删除要求单元格所在行.zip
4楼
omnw
第四行代码修改成这样:
  1. Set tmp = .Find(str, lookat:=xlPart)

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap