Excel交流网
  • 设为首页|收藏本站|手机版
  • Excel-教程-技巧-培训视频

  • 网站首页
  • Excel教程
  • 新闻动态
  • Excel资源
  • 关于我们

Excel教程

Excel操作
Excel函数
Excel图表
Excel VBA
Excel 行业应用

联系方式

Excel中交流网 联系方式

QQ:18449932 


网  址:www.excel-cn.com  

当前位置:网站首页 > Excel教程 > Excel VBA
Excel VBA

Excel文本中提取英文或中文

在工作中,我们经常需要整理一些不规则的数据。如从文字中提取英文,从文字中提取数字等等。

如下面的一组数据,需要从中英文本混合的单元格中提取英文和中文,然后将英文放到一列,中文放到另外一列:

序号中英文
1blue蓝色
2white白色
3red红色
4green绿色
5pink粉红
6pink粉红red


VBA详细代码:

1、从包含中英文的文本中提取中文的自定义函数

Function SplitStringChs(TheString)

    Dim n, Chs

    For n = 1 To Len(TheString)

        If Asc(Mid(TheString, n, 1)) < 0 Then

            Chs = Chs & Mid(TheString, n, 1)

        End If

    Next

    SplitStringChs = Chs

End Function


2、从包含中英文的文本中提取英文的自定义函数

Function SplitStringEng(TheString)

    Dim n, Eng

    For n = 1 To Len(TheString)

        If Asc(Mid(TheString, n, 1)) >= 0 Then

            Eng = Eng & Mid(TheString, n, 1)

        End If

    Next

    SplitStringEng = Trim(Eng)

End Function


代码解析:

VBA 函数Asc(string)相当于Excel中的Code()函数,但是VBA中没有定义Code()函数。

Asc(string)返回一个 Integer,代表字符串中首字母的字符代码。string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。在非 DBCS 系统下,返回值范围为 0 – 255 。在 DBCS 系统下,则为 -32768 – 32767。

mYDATA=ASC("A"),结果 mYDATA的值 65;

Excel中单元中输入公式=CODE("A") ,值显示65;


在单元格中应用自定义函数或内置函数,如下:

中英文用VBA提取英文用VBA提取中文用函数提取英文用函数提取中文
blue蓝色=SplitStringEng(A2)=SplitStringChs(A2)=LEFT(A2,2*LEN(A2)-LENB(A2))=RIGHT(A2,LENB(A2)-LEN(A2))
white白色=SplitStringEng(A3)=SplitStringChs(A3)=LEFT(A3,2*LEN(A3)-LENB(A3))=RIGHT(A3,LENB(A3)-LEN(A3))
red红色=SplitStringEng(A4)=SplitStringChs(A4)=LEFT(A4,2*LEN(A4)-LENB(A4))=RIGHT(A4,LENB(A4)-LEN(A4))
green绿色=SplitStringEng(A5)=SplitStringChs(A5)=LEFT(A5,2*LEN(A5)-LENB(A5))=RIGHT(A5,LENB(A5)-LEN(A5))
pink粉红=SplitStringEng(A6)=SplitStringChs(A6)=LEFT(A6,2*LEN(A6)-LENB(A6))=RIGHT(A6,LENB(A6)-LEN(A6))
pink粉红red=SplitStringEng(A7)=SplitStringChs(A7)=LEFT(A7,2*LEN(A7)-LENB(A7))=RIGHT(A7,LENB(A7)-LEN(A7))


结果显示对比为:

中英文用VBA提取英文用VBA提取中文用函数提取英文用函数提取中文
blue蓝色blue蓝色blue蓝色
white白色white白色white白色
red红色red红色red红色
green绿色green绿色green绿色
pink粉红pink粉红pink粉红
pink粉红redpinkred粉红pink粉红red


内容摘自:小智雅汇(头条号)


点击次数:  更新时间:2017-08-21 15:57:06  【打印此页】  【关闭】
上一条:Excel 内置验证函数  下一条:Excel 制作雷达图
本站动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图|网站管理

中山市天鸣科技发展有限公司 版权所有 1999-2024 粤ICP备10043721号

QQ:18449932

免费Excel教程、Excel技巧、Excel培训、Excel函数公式、Excel图表、Excel VBA

Excel教程|Excel技巧|Excel培训|Excel函数公式|Excel图表|VBA

Powered by MetInfo 5.3.12 ©2008-2026  www.metinfo.cn