Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 13430|回复: 5

[已解决]一个单元格即有数字又有中文,如何去除数字只保留中文。

[复制链接]
发表于 2011-8-28 19:22 | 显示全部楼层 |阅读模式
一个单元格即有数字又有中文,如何去除数字只保留中文。如A1=中123国,去掉123  ?
最佳答案
2011-8-29 13:31
按题意只保留中文:
  1. Sub aaaa()
  2. Dim RegEx
  3.     With CreateObject("VBSCRIPT.REGEXP")
  4.         .Global = True
  5.         .Pattern = "[^\u4e00-\u9fa5]"
  6.         Range("b1") = .Replace(Range("a1"), "")
  7.     End With
  8. End Sub
复制代码

评分

参与人数 1 +1 收起 理由
诺然偶然 + 1 我和小伙伴都惊呆了

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-8-28 20:12 | 显示全部楼层
顶多用十次查找替换就可以了(从0~9)进行替换
回复

使用道具 举报

发表于 2011-8-28 21:28 | 显示全部楼层
回复 shazilo 的帖子

假设A1单元格是要处理的字符串, B1是处理后的字符串,代码如下:

Dim RegEx
    a = Range("a1")
    Set RegEx = CreateObject("VBSCRIPT.REGEXP")
    RegEx.Global = True
   
   RegEx.Pattern = "\d"
    b = RegEx.Replace(a, "*")
    bb = Replace(b, "*", "")
   
   
    Set RegEx = Nothing
    Range("b1") = bb
回复

使用道具 举报

发表于 2011-8-29 13:31 | 显示全部楼层    本楼为最佳答案   
按题意只保留中文:
  1. Sub aaaa()
  2. Dim RegEx
  3.     With CreateObject("VBSCRIPT.REGEXP")
  4.         .Global = True
  5.         .Pattern = "[^\u4e00-\u9fa5]"
  6.         Range("b1") = .Replace(Range("a1"), "")
  7.     End With
  8. End Sub
复制代码
回复

使用道具 举报

发表于 2011-8-29 17:27 | 显示全部楼层
本帖最后由 studyexcel 于 2011-8-29 17:28 编辑

回复 shazilo 的帖子
2楼说的10次查找替换
Sub aa()
    Dim str$, arr
    arr = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
    str = [a1]
    For i = o To UBound(arr)
        str = Replace(str, arr(i), "")
    Next
    [b1] = str
End Sub
回复

使用道具 举报

发表于 2017-1-11 22:21 | 显示全部楼层
豆丁 发表于 2011-8-29 13:31
按题意只保留中文:

大神!问下如果想实现把A列的文本全部去除数字等字符输出到B列,要怎么添加循环语句啊?
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 08:52 , Processed in 0.294726 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表