施老师:

相信许多人经常会遇到一些不懂Excel的同事和老板,将一份好好的资料在Excel中填写的是乱七八糟,甚至有时在一个单元格中弄了N多个信息,又是中文,又是英文,又是数据。如果数据少的话可以手动一个一个的拎出来,如果数据多的话就麻烦了。今天就由宁双学好网施老师给大家分享一个不错的VBA,可以将单元格中混合数据包含中文、英文、数据信息单独提取出来。

混合数据预览

先看看混乱的数据吧!也许你的数据比这更乱,不过也没关系,我们可以轻松提取我们想要的中文或英文或数据。

开始提取

一、首先是【开发工具】-【查看代码】-【Visual Basic】;

二、在弹出的界面中点击【插入】-【模块】;

三、将下列代码复制到模块中。

Function MyGet(Srg As String, Optional n As Integer = False)

Dim i As Integer

Dim s, MyString As String

Dim Bol As Boolean

For i = 1 To Len(Srg)

s = Mid(Srg, i, 1)

If n = 1 Then

Bol = Asc(s) < 0

ElseIf n = 2 Then

Bol = s Like "[a-z,A-Z]"

ElseIf n = 0 Then

Bol = s Like "#"

End If

If Bol Then MyString = MyString & s

Next

MyGet = IIf(n = 1 Or n = 2, MyString, Val(MyString))

End Function

四、返回Excel界面,然后在需要提取单元格中录入公式

【=myget(A2,1)】是提取所有中文

【=myget(A2,2)】是提取所有英文

【=myget(A2)】是提取所有的数据

五、最后鼠标相应的往下拉就行。

喜欢施老师的干货文章请点赞,关注,分享,大家碰到中英文和数字混到一个单元格中,是怎样分离的,请参与投票,并在下方评论区留言写下你的看法,和施老师一起探讨。

宁双学好网施老师(微信订阅号:myplwaai) , 欢迎分享本文,转载请保留出处。想了解更多,请点击下方的"了解更多"。