前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简谈VBA的Split函数

简谈VBA的Split函数

作者头像
fanjy
发布2022-11-16 10:45:25
2.9K0
发布2022-11-16 10:45:25
举报
文章被收录于专栏:完美Excel

标签:VBA,Split函数

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, “ “)

省略最后两个参数(limit和compare,因为它们是可选的)。

接下来的例子使用了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)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档