Excel删除包含某关键字的指定行(VBA)

一、背景及需求:上一期介绍的由多个excel合成的Excel表如下所示,我们需要把有汉字的行删删除掉。在这里插入图片描述
二、解决方案:同样的还是要用VBA来解决,操作前面已经介绍过了,我们直接上代码和注释(!!!在这里需要强调一下:在运行代码前要选中需要删除的部分,比如A-F——1-2000,上下左后都要选,不能全选。由于程序会对选中的每个单元格进行索引,如果直接Ctrl+A全选或者只选择上下或者左右的话,程序会由于一直进行excel单元格的索引而进入无限索引,最终导致电脑卡死!!!):

Sub wrj()
Dim rng As Range '定义了一个range类型的变量 rng
Dim InputRng As Range  '同上
Dim DeleteRng As Range  '同上
Dim DeleteStr As String  '字符串型数据
xTitleId = "KutoolsforExcel" '选择区域弹窗的名字
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2) '删除的行的关键字
For Each rng In InputRng '遍历所有行
    If rng.Value = DeleteStr Then '如果有关键字和需要删除的关键字一样
        If DeleteRng Is Nothing Then
            Set DeleteRng = rng
        Else
            Set DeleteRng = Application.Union(DeleteRng, rng)
        End If
    End If
Next
DeleteRng.EntireRow.Delete '删除行
End Sub

三、摁下F5运行,即可得到结果。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值