首页 编程设计VBA编程正文

ExcelVBA: 在混合数据单元格中快速提取英文、数字、中文

云水 VBA编程 2019-12-16 15:39:07 1087 0 VBA

相信许多人经常会遇到一些不懂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)】是提取所有的数据

在混合数据单元格中快速提取英文、数字、中文


版权声明

1.本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2.本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3.若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
4.若内容涉及侵权或违法信息,请联系本站管理员进行下架处理,邮箱ganice520@163.com(本站不支持其他投诉反馈渠道,谢谢合作)

本文链接:http://apod.cc/index.php/post/207.html

发表评论

评论列表(0人评论 , 1087人围观)
☹还没有评论,来说两句吧...