打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
简谈VBA的Split函数
userphoto

2022.06.27 四川

关注
excelperfect

标签:VBASplit函数
Excel VBA提供了一种自定义的方式来拆分单元格中的文本,即Split函数,这在需要将单元格的内容拆分为许多部分时非常有用。
Split函数的语法如下:
Split(string,delimiter,limit,compare)
其中,
  • 参数string,想要拆分的字符串。
  • 参数delimiter,将字符串分成段的字符。
  • 参数limit,默认值为-1,意味着每个分隔符都将进行拆分。
  • 参数compare,告诉Excel是执行二进制比较还是文本比较。零(0)用于执行二进制比较(这是默认值)。数字一(1)用于执行文本比较。

下面是拆分字符串的一个基本示例:
Sub SplitString()
    Dim arr() As String
    Dim str As String
    Dim i
    str = 'I am a student'
    arr = Split(str)
    For i = 0 To UBound(arr)
        Debug.Print arr(i)
    Next
End Sub
运行程序后,在立即窗口中的结果如下图1所示。
1
默认情况下,Split函数以空格作为分隔符来拆分字符串,因此下面的语句作用相同:
arr=Split(str, “ “)
省略最后两个参数(limitcompare,因为它们是可选的)。
接下来的例子使用了limit参数:
Sub SplitString2()
    Dim arr() As String
    Dim str As String
    Dim i
    str = 'I am a student'
    arr = Split(str, ' ', 2)
    For i = 0 To UBound(arr)
        Debug.Print arr(i)
    Next
End Sub
运行程序后,在立即窗口中的结果如下图2所示。
2
下面的示例拆分字符串并将结果输入到工作表单元格:
Sub SplitString3()
    Dim arr() As String
    Dim var As Variant
    Dim str As String
    Dim i As Integer
    Dim j As Integer
    str = 'I am a student'
    arr = Split(str)
    ReDim var(0, UBound(arr) + 1)
    For i = 0 To UBound(arr)
        If arr(i) <> ' ' Then
            var(0, j) = arr(i)
            j = j + 1
        End If
    Next i
    Range(Cells(1, 1), Cells(1, UBound(var, 2))) = var
End Sub
运行上述过程后,将在单元格区域A1:D1中输入拆分后的字符串。如果想在单元格区域A1:A4中输入拆分后的字符串,可以使用语句:
Range(“A1:A” & UBound(var,2))=Application.Transpose(var)
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
《神奇的VBA》编程:批量拆分单元格数据
VBS数组深入浅出
VBA进阶|利用VBA数组管理数据清单和表格
第3章 Excel VBA基础语法 【上】
学习VBA,报表做到飞 第二章 数组 2.3 Split与Join
excel 函数汇总
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服