Excel精英培训网

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

判断A列单元格是否含特定字符串

[复制链接]
发表于 2019-9-25 10:58 | 显示全部楼层 |阅读模式
本帖最后由 jsfc 于 2019-9-25 22:18 编辑

A列行数随机,如:
1、单元格含“%”且不含“|”的,则删除单元格
2、单元格含“%”且含“|”的,则保留单元格数据
3、单元格不含“%”也不含“|”的,则保留单元格数据

09-25.jpg

09-24.rar

8.46 KB, 下载次数: 9

发表于 2019-9-25 16:52 | 显示全部楼层
是这样吧?

Sub test()
        Application.DisplayAlerts = False
        Application.ScreenUpdating = False
        r = [a65536].End(3).Row
        For i = r To 3 Step -1
                If InStr(Cells(i, 1), "%") > 0 And InStr(Cells(i, 1), "|") = 0 Then
                        Rows(i).Delete
                End If
        Next i
        Application.DisplayAlerts = True
        Application.ScreenUpdating = True
End Sub
回复

使用道具 举报

发表于 2019-9-25 17:06 | 显示全部楼层
试一试!!!!!

09-24.rar

16.25 KB, 下载次数: 11

回复

使用道具 举报

 楼主| 发表于 2019-9-25 22:18 | 显示全部楼层
ligh1298 发表于 2019-9-25 16:52
是这样吧?

Sub test()

谢谢,是这样的效果
回复

使用道具 举报

发表于 2019-9-30 20:28 | 显示全部楼层
  1. Sub St()
  2.    Dim rng As Range, rg As Range
  3.      For Each rng In Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row)
  4.           If rng.Value Like "*%*" And Not rng.Value Like "*|*" Then
  5.              If rg Is Nothing Then
  6.                 Set rg = rng
  7.              Else
  8.                Set rg = Union(rg, rng)
  9.              End If
  10.           End If
  11.      Next rng
  12. If Not rg Is Nothing Then
  13.   rg.EntireRow.Delete
  14. End If
  15. Set rg = Nothing
  16. End Sub
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 08:23 , Processed in 0.412598 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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