如何在VBA中把一个字符串分割成一个数组(3种方法)

  • Share This
Hugh West

在这篇文章中,我将向你展示如何将一个字符串分割成一个数组,在 VBA . 分割 是最重要和最广泛使用的函数之一,我们在 VBA 你将学习如何在 VBA 以各种可能的方式。

VBA拆分功能(快速查看)

=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare] )

下载实践工作手册

将一个字符串分割成一个数组.xlsm

在VBA中把一个字符串分割成一个数组的3种方法

让我们的手中有一根绳子 "我们申请了美国、加拿大、澳大利亚和法国的签证。" .

我将向你展示你如何用所有可能的方式将这个字符串分割成一个数组,使用 分割功能 VBA .

1.在VBA中使用任何分隔符将一个字符串分割成一个数组

你可以使用任何字符串作为分隔符,将一个字符串分割成一个数组,在 VBA .

它可以是一个 空格(" ")。 , a 逗号(",") , a 分号(":") ,一个单一的字符,一串字符,或任何东西。

例1:

让我们用以下方法来分割这个字符串 逗号 作为分隔符。

这一行代码将是。

Arr = Split(Text, "," )

完整的 VBA代码 将是。

VBA代码。

 Sub Split_String() Text = "我们申请了美国、加拿大、澳大利亚和法国的签证。" Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

输出。

它将把字符串分割成一个数组,该数组包括 {"我们申请了美国"、"加拿大"、"澳大利亚"、"法国 "的签证}。

例2:

你也可以用一个 空格(" ")。 作为分隔符。

这一行代码将是。

Arr = Split(Text, " ")

完整的 VBA代码 将是。

VBA代码。

 Sub Split_String() Text = "我们申请了美国、加拿大、澳大利亚和法国的签证。" Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

输出。

它将把字符串分割成一个数组,该数组包括 {"我们"、"申请"、"为"、"的"、"签证"、"的"、"美国"、"加拿大"、"澳大利亚"、"法国"、}。

要记住的事情。

  • 默认的分隔符是一个 空格(" ")。 .
  • 也就是说,如果你不插入任何分隔符,它将使用一个 空间 作为分隔符。

阅读更多。 在Excel中按字符拆分字符串(6种合适的方法)

类似的阅读。

  • 在Excel中把文本分割成多个单元格
  • VBA在Excel中从列中获取唯一值到数组(3个标准)
  • Excel VBA:如何用数组中的多个标准进行过滤(7种方法)

2.将一个字符串分割成一个具有任意数量的数组

你可以根据你的愿望将一个字符串分割成一个有任意数量的数组。

插入项目的数量作为 第三届 的论点。 分割功能 .

例子。

让我们把这个字符串分割成第一个 3 的项目。 空间 作为分隔符。

这一行代码将是。

Arr = Split(Text, " ", 3)

VBA代码 将是。

VBA代码。

 Sub Split_String() Text = "我们申请了美国、加拿大、澳大利亚和法国的签证。" Arr = Split(Text, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

输出。

它将把字符串分成一个数组,其中包括第一个 3 由分隔符分隔的项目 空间 .

要记住的事情。

  • 默认参数是 -1 .
  • 这意味着,如果你不输入参数,它将把字符串分割成可能的最大次数。

阅读更多。 如何在Excel中按长度分割字符串(8种方法)

3.在VBA中使用大小写敏感和不敏感的分隔符来分割一个字符串或数组

ǞǞǞ 分割功能 提供给你同时使用一个 区分大小写 不区分大小写 分隔符。

对于一个 不区分大小写 分隔符,插入 第四届 论点为 1.

而对于一个 不区分大小写 分隔符,插入 第四届 论点为 0 .

例1:不区分大小写的分隔符

在给定的字符串中,让我们考虑以下文本 "为" 作为分隔符,而 2 为该数组的总项数。

现在,对于一个 不区分大小写 的情况下,这行代码将是。

Arr = Split(Text, "FOR", 3,1)

而完整的 VBA代码 将是。

VBA代码。

 Sub Split_String() Text = "我们申请了美国、加拿大、澳大利亚和法国的签证。" Arr = Split(Text, "FOR", 2, 1) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

输出。

由于分隔符是 不区分大小写 在这里,的 "为" 将作为 "为" 并将该字符串分割成一个由两个项目组成的数组。

例2:区分大小写的分隔符

同样,对于一个 区分大小写 的情况下,这行代码将是。

Arr = Split(Text, "FOR", 3,0)

而完整的 VBA代码 将是。

VBA代码。

 Sub Split_String() Text = "我们申请了美国、加拿大、澳大利亚和法国的签证。" Arr = Split(Text, "FOR", 2, 0) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

输出。

由于分隔符是 区分大小写 在这里,的 "为" 不会像 "为" 而且它不会将字符串分割成两个项目的数组。

阅读更多。 Excel VBA:从数组中删除重复的内容(2个例子)

要记住的事情。

  • 该参数的默认值为 0 .
  • 就是说,如果你不把价值的 第四届 参数,它将对一个 区分大小写 匹配。

总结

因此,使用这些方法,你可以用 分割功能 VBA 将一个字符串分割成一个数组的项目。 你有什么问题吗? 欢迎向我们提问。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.