- 打开Excel,打开VBA项目窗口(快捷键 Alt+F11),在左侧的工作表名称上点右键,选择查看代码,出现右侧的代码编辑窗口
- 在窗口中输入以下代码
Private Sub RegExp_Replace()
Dim RegExp As Object
Dim SearchRange As Range, Cell As Range
Set RegExp = CreateObject("vbscript.regexp")
'定义正则表达式
'转义双引号需要使用"去转义
RegExp.Pattern = "[^0-9a-zA-Z\u4e00-\u9fa5]"
'指定查找范围
Set SearchRange = ActiveSheet.Range("C1:C100")
'遍历查找范围内的单元格
For Each Cell In SearchRange
Set Matches = RegExp.Execute(Cell.Value)
If Matches.Count >= 1 Then
Set Match = Matches(0)
'这里填需要替换的内容
Cell.Value = RegExp.Replace(Cell.Value, "")
End If
Next
End Sub
正则测试网站: https://regexr-cn.com/
- 代码完成后点击运行(快捷键F5)
- 去Excel中查看结果(貌似一次只能替换一个符合条件的字符,没达到效果可以多执行几次)
参考链接: https://blog.csdn.net/qq_34382627/article/details/126854676