#Excel数据处理技巧
图一:A列是从某ERP系统导出的产品描述字段,可能同时包含中文描述、英文缩写、产品内部编码(如SKU-WATCH-2024-001)以及用于分隔的符号(如|或/)。为了生成一份纯中文的产品目录或报告,需要快速清除所有非中文字符
图二:VBA代码实现。核心思路:匹配所有非中文字符,并将其替换为空字符串,从而间接得到纯中文内容
图三:B列展示的是最终提取纯中文
为了方便大家使用,可以快速复制粘贴以下代码,与图二中展示的内容一致:
Dim objRegEx As Object
Dim c As Range
Set objRegEx = CreateObject("vbscript.regexp")
objRegEx.Global = True
objRegEx.Pattern = "[^\u4e00-\u9fa5]" ' 匹配任意非中文字符
' 假设数据在A列,结果输出到B列
For Each c In Range("A1", Cells(Rows.Count, 1).End(xlUp))
c.Offset(0, 1).Value = objRegEx.Replace(Trim(c.Value), "")
Next c
Set objRegEx = Nothing
其中,[\u4e00-\u9fa5]代表了汉字的Unicode编码范围,这个区间涵盖了绝大多数常用和次常用汉字