如何批量去掉EXCEL表格中中文汉字

[复制链接]
查看11 | 回复5 | 2019-5-26 15:20:18 | 显示全部楼层 |阅读模式
工具--宏--visual basic编辑器--插入模块--拷贝以下内容,然后在表格里面填上公式 【=除汉字(A1)】,A1是“E2300中国3200S”等所在的单元格Function 除汉字(rng As Range)s = Len(rng.Text)For i = 1 To stxt = StrConv(Mid(rng.Text, i, 1), vbNarrow)txt2 = StrConv(Mid(rng.Text, i, 1), vbWide)If txttxt2 Then除汉字 = 除汉字 & Mid(rng.Text, i, 1)End IfNext iEnd Function
回复

使用道具 举报

千问 | 2019-5-26 15:20:18 | 显示全部楼层
Function remove_hz(range_str, flag) As StringDim i As Long, str As Stringi = 1str = range_str.TextDo While i 255,ROW(INDIRECT("1:"&LEN(A1))))),MAX(IF(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>255,ROW(INDIRECT("1:"&LEN(A1)))))-MIN(IF(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>255,ROW(INDIRECT("1:"&LEN(A1)))))+1)按键盘上的 Shift+Ctrl+回车键 结束公式的输入,并将公式向下复制,这是提取出A列上的中文内容。2、在C1输入公式:=SUBSTITUTE(A1,B1,1)也将公式向下复制,这样C列就得到去除了中文的A列内容了,再用“复制”-“选择性粘贴”-“数值”,就可以将结果保存为真实的数据。
回复

使用道具 举报

千问 | 2019-5-26 15:20:18 | 显示全部楼层
关键看你的数据字段长短有没有规律要是比如你上面的这个“E2300中国3200S”,就很好办若E2300中国3200S在A1中在B1中输入:=left(A1,5)&right(A1,5)就行了,公式意思是,取A1中前5个字符加上后5个字符组合为新的字符串“E23003200S”具体还要看你的其它数据才行
回复

使用道具 举报

千问 | 2019-5-26 15:20:18 | 显示全部楼层
Function 除汉字(rng As Range)s = Len(rng.Text)For i = 1 To stxt = StrConv(Mid(rng.Text, i, 1), vbNarrow)txt2 = StrConv(Mid(rng.Text, i, 1), vbWide)If txttxt2 Then除汉字 = 除汉字 & Mid(rng.Text, i, 1)End IfNext iEnd Function4楼原来是个高手 佩服先 俺编程这块弱 学习先
回复

使用道具 举报

千问 | 2019-5-26 15:20:18 | 显示全部楼层

回复

使用道具 举报

千问 | 2019-5-26 15:20:18 | 显示全部楼层
Sub 提取型号()Set regx = CreateObject("vbscript.regexp")With regx.Global = True.Pattern = "[!-~]{8,50}"For Each Rng In [A2:A4010]Set mat = .Execute(Rng)For Each m In matn = n + 1Cells(n, 2) = mNextNextEnd WithEnd Sub有什么规律没?方便操作
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行