Excel精英培训网

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

[已解决]怎样用vba在B列找到字符“hj”并删除字符所在单元格内容

[复制链接]
发表于 2022-8-14 15:06 | 显示全部楼层 |阅读模式
b列有大概2万条数据,需要在这一列找出字符“hj”,选中后删除字符所在单元格内容clearcontents,不是删除单元格!不是删除单元格!求教代码,刚学vba不太懂
最佳答案
2022-8-14 15:32
本帖最后由 我行我速2008 于 2022-8-14 15:34 编辑

Sub tt()
    Dim ar, r
    ar = [a1].CurrentRegion
    For r = 1 To UBound(ar)
        If ar(r, 2) Like "*hj*" Then
            ar(r, 2) = ""
        End If
    Next
    [a1].CurrentRegion = ar
End Sub
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2022-8-14 15:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 我行我速2008 于 2022-8-14 15:34 编辑

Sub tt()
    Dim ar, r
    ar = [a1].CurrentRegion
    For r = 1 To UBound(ar)
        If ar(r, 2) Like "*hj*" Then
            ar(r, 2) = ""
        End If
    Next
    [a1].CurrentRegion = ar
End Sub

新建 Microsoft Excel 工作表1.zip

15.52 KB, 下载次数: 10

回复

使用道具 举报

 楼主| 发表于 2022-8-14 16:29 | 显示全部楼层
我行我速2008 发表于 2022-8-14 15:32
Sub tt()
    Dim ar, r
    ar = [a1].CurrentRegion

大佬太牛了!谢谢!if ar  (r,2) like"*hj*" then这里看不太懂,请问是用的数组+正则表达式吗?能不能说明一下?
next后面[a1].currentregion=ar表示什么意思?
回复

使用道具 举报

发表于 2022-8-14 16:56 | 显示全部楼层
数组,没用正则,*hj*,*是通配符,就是字符串中含有hj,前面、后面不问.
like 函数,就是说只要ar(r,2).含有hj,就清空数组ar(r,2).
[a1].currentregion=ar意思是[a1]连贯区域等于数组ar.
回复

使用道具 举报

发表于 2022-8-22 14:24 | 显示全部楼层
谢谢分享啊啊
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 05:18 , Processed in 0.268175 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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