设为首页收藏本站

Excel精英培训网

 找回密码
 注册

QQ登录

只需一步,快速开始

你正在寻找更好的Excel学习教程吗?Excel技巧80集+数据透视表+函数初中高全套+VBA80集,想学的这儿全都有
查看: 9006|回复: 5

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

[复制链接]
发表于 2011-8-28 19:22 | 显示全部楼层 |阅读模式
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
一个单元格即有数字又有中文,如何去除数字只保留中文。如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
复制代码
发表于 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, 2017-1-21 08:04 , Processed in 0.140401 second(s), 22 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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