利用VBA批量删除Excel中的中文/英文/数字或者替换中英文符号
↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓
在Excel中经常会遇到去除所有的中文,英文或者数字等情况。但是由于Excel并不支持一次替换所有的中文,英文,数字等,所以有些解决方法是复制到Word中进行替换,但是这种方法个人感觉比较麻烦不好用,因此提供一个利用VBA解决这个问题的方法.
具体操作如下:
使用“Alt+F11”打开开发者选项,在点击左侧的任意一个sheet,复制下面的代码内容,再点击左上角的绿色三角箭头运行即可
代码内容如下:
整个工作簿的所有sheet删除中文:
Sub remove_cn_char()
Dim Rng As Range
Dim Reg
Set Reg = CreateObject("vbscript.regexp") '建立正则表达式
Reg.Pattern = "[\u4e00-\u9fa5]" '去汉字样式
Reg.Global = True '设置全局可用
For Each sh In Worksheets '遍历所有的sheet
For Each Rng In sh.UsedRange '遍历所有的单元格
On Error Resume Next '防止一些错误值引起的报错
Rng = Reg.Replace(Rng, "")
Next
Next
End Sub
删除特定sheet中的英文
Sub remove_cn_char()
Dim Rng As Range
Dim Reg
Set Reg = CreateObject("vbscript.regexp") '建立正则表达式
Reg.Pattern = "[a-zA-Z]" '去英文样式
Reg.Global = True '设置全局可用
With Sheets("test") ‘设置要替换的sheet名称
For Each Rng In sh.UsedRange
On Error Resume Next '防止一些错误值引起的报错
Rng = Reg.Replace(Rng, "")
Next
End With
End Sub
在上述代码中,我们通过正则表达式对Excel中的中英文进行替换。如果需要替换不同的内容,则替换上述代码中的正则表达式样式即可。我们常用的正则表达式样式如下:
- 匹配中文字符的正则表达式:
[\u4e00-\u9fa5]
- 匹配双字节字符(即中文输入法状态下的所有输入字符,例如中文,中文标点符号等)的正则表达式:
[^\x00-\xff]
- 英文字母:
[a-zA-Z]
- 数字:
[0-9]
当然如果你有其他的特殊的规则,也可以自己百度或书写相关正则表达式进行删除或替换。
替换中英文字符
有的时候处理文本使我们需要替换对应的中英文字符而非删除,例如需要对照两个文本,但是两个文本中的标点符号不一致,有的是中文,有的是英文,因此需要将两个文本中的符号统一。下面的程序可将中文标点符号替换为英文标点符号:
Sub test()
Dim ar, br, cr, r&, c&, i&, j&, m&
br = Array(",", "\", ".", "!", "?", ";", ":", "'", "'", """", """", "[", "]", "{", "}", "(", ")")
cr = Split(",,、,。,!,?,;,:,‘,’,“,”,【,】,{,},(,)", ",")
With ActiveSheet
With .UsedRange
ar = .Value
r = .Row
c = .Column
End With
On Error Resume Next
For i = 1 To UBound(ar)
For j = 1 To UBound(ar, 2)
For m = LBound(cr) To UBound(cr)
ar(i, j) = Replace(ar(i, j), cr(m), br(m))
Next m
Next j
Next i
.Cells(r, c).Resize(UBound(ar), UBound(ar, 2)) = ar
End With
End Sub
同理,需要英文转中文,或者需要添加其他字符的话直接修改对应的br和cr即可
本文来自博客园,作者:Smilecoc,转载请注明原文链接:https://www.cnblogs.com/smilecoc/p/18724357
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码