值得收藏的ExcelVBA | 在混合数据单元格中快速提取英文、数字、中文
相信许多人经常会遇到一些不懂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)】是提取所有的数据