您现在的位置是:首页 > Excel技巧>Excel文本中提取英文或中文

excel混合文本提取中文和英文-Excel文本中提取英文或中文

发布于2022-04-150人已围观

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

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

序号 中英文
1 blue蓝色
2 white白色
3 red红色
4 green绿色
5 pink粉红
6 pink粉红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粉红red pinkred 粉红 pink粉红 red


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


相关文章

文章评论

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

标签云

站长特荐