如图,实际表格中A列有很多行数据,行数可能会变动,格式混乱,请用office,VBA编程(附简单解释并使用通配符)实现如下要求:
删除他字符只保留汉字将结果显示在B列,只保留英文结果显示在C列,只保留数字结果显示在D列,只保留标点符号结果显示在E列,各列和A列要对应,例如,C2中结果为"B"。
你好2a()
3B?这个
你是4a*
你好5a.
********************
Sub test2()
Dim regX As Object, s As String, i, j
Set regX = CreateObject("vbscript.regeXP")
For i = 1 To Cells(Rows.Count, 1).End(3).Row
With regX
.Global = True
For j = 2 To 5
Select Case j
Case 2
s = "[^\u4e00-\u9fa5]" "取汉字
Case 3
s = "\D" "取数字
Case 4
s = "[^a-zA-Z]" "取字母
Case 5
s = "[\u4e00-\u9fa50-9a-zA-Z]" "取符号
End Select
.Pattern = s
Cells(i, j) = .Replace(Cells(i, 1), "")
Next j
End With
Next
End Sub
如果觉得《Excel VBA编程 通配符 批量替换 筛选所有数字 字母 常见标点符号 中文字符》对你有帮助,请点赞、收藏,并留下你的观点哦!