利用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即可
利用VBA批量删除Excel中的中文/英文/数字或者替换中英文符号的更多相关文章
- sql 查询字段是中文/英文/数字 正则表达式
一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二.包含英文字符 select * from 表名 where 列名 like '%[a-z]%' ...
- C# 删除字符串中的中文
/// <summary> /// 删除字符串中的中文 /// </summary> public static string Delete中文(string str) { s ...
- Java利用POI导入导出Excel中的数据
首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...
- SQLServer 命令批量删除数据库中指定表(游标循环删除)
DECLARE @tablename VARCHAR(30),@sql VARCHAR(500)DECLARE cur_delete_table CURSOR READ_ONLY FORWARD_ON ...
- 利用sql批量删除表,存储过程
利用sql批量删除表,存储过程. 最近用godaddy的空间,由于系统里面的表多,一个个的删除很麻烦,就网上搜集了一下解决方法. 给大家分享一下: 1.批量删除存储过程 declare @procNa ...
- 批量删除Excel里面的换行符
关于批量删除excel里面的换行符,应该说写程序的遇上excel大体都会有这么个问题,在解决这个问题前,我的解决办法是把excel 的数据全部复制到txt里面, 因为操作txt比操作excel更为简单 ...
- SQL触发器批量删除数据库中的表
以下通过触发器批量删除数据库中的表,SQL2008已验证 DECLARE @Table NVARCHAR() DECLARE @Count Int = DECLARE tmpCur CURSOR FO ...
- 如何批量删除Docker中已经停止的容器
如何批量删除Docker中已经停止的容器 方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{p ...
- 批量删除Windows7中隧道适配器的方法
批量删除Windows7中隧道适配器的方法 1.在网卡属性的"网络"中,将"Internet协议版本(TCP/IPv6)"前面的勾去掉. 2.在CMD下分别执行 ...
- Python批量修改Excel中的文件内容
import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None): return os.path.join ...
随机推荐
- 行为识别TSM训练ucf101数据集
序言 最近有个行为检测的需求,打算用行为识别做,纯小白入这个方向,啃了两周的TSM原理和源码,训练好自己的数据集后,发现好像没法应用到自己的需求场景??玛德!算了,还是要记录一下.原理就没别要讲了,网 ...
- 线程,yield()
一.定义:暂停当前正在执行的线程对象,并执行其他线程 yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会. 因此,使用yield()的目的是让相同优先级的 ...
- K8S 部署 Deepseek 要 3 天?别逗了!Ollama+GPU Operator 1 小时搞定
最近一年我都在依赖大模型辅助工作,比如 DeepSeek.豆包.Qwen等等.线上大模型确实方便,敲几个字就能生成文案.写代码.做表格,极大提高了效率.但对于企业来说:公司内部数据敏感.使用外部大模型 ...
- FastAPI数据库集成与事务管理
title: FastAPI数据库集成与事务管理 date: 2025/04/18 00:15:34 updated: 2025/04/18 00:15:34 author: cmdragon exc ...
- 【记录】Excel 2021|(三)VBA使用Selenium自动登录网页
文章目录 1 安装 Selenium Basic 2 下载webdriver 3 自动登录 1 安装 Selenium Basic 首先需要安装Selenium Basic,才能在工具栏中找到Sele ...
- K8s进阶之Deployment的更新&回滚
更新概述 更新指的是对 Deployment 所管理应用的配置.镜像版本等进行修改并应用到集群中的过程.通过更新 Deployment,你能够实现应用功能的升级.修复漏洞.调整资源分配等操作. 更新触 ...
- 遇到过的错误之“日期计算错误,Java8API导致Unsupported unit: Seconds【时间类错误】"
一.问题 场景:在计算相差天数时爆出的错误 报错内容:java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Se ...
- web框架实例
s5.py from wsgiref.simple_server import make_server def handle_index(): return [b'<h1>Hell ...
- Unity ML-Agents实战指南:构建多技能游戏AI训练系统
引言:游戏AI训练的技术演进 在<赛博朋克2077>的动态NPC系统到<Dota 2>OpenAI Five的突破性表现中,强化学习正在重塑游戏AI边界.本文将通过Unity ...
- arcgis创建sqlserver企业级空间数据库过程中出现的问题及解决方案
在arcgis中创建sqlserver版本的企业空间数据库过程中,出现了多种问题,现把问题的现象.原因和解决方案记录下来,以防遗忘(年纪大了). 1 用sa账号创建空间数据库提示创建失败15456 安 ...