Vba:如何将字符串拆分为数组(带有示例)
您可以使用以下基本语法使用 VBA 将字符串拆分为数组:
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SingleValue = Split(Range(" A " & i), " ")
For j = 1 To 2
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
此特定示例根据每个字符串中的空格划分A2:A7范围内的每个字符串,然后将每个字符串的结果元素分配给单元格范围B2:B7和C2:C7 。
以下示例展示了如何在实践中使用此语法。
示例:使用 VBA 将字符串拆分为数组
假设我们在 Excel 中有以下字符串列表:
假设我们要根据空格拆分每个字符串,然后将每个字符串的结果元素分配给新单元格。
我们可以创建以下宏来执行此操作:
SubSplitString ()
Dim SplitValues() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SplitValues = Split(Range(" A " & i), " ")
For j = 1 To 2
Cells(i, j + 1).Value = SplitValues(j - 1)
Next j
Next i
End Sub
当我们运行这个宏时,我们会收到以下输出:
请注意,B 列和 C 列包含 A 列中每个全名的名字和姓氏。
另请注意,您可以使用 VBA Split函数根据不同的分隔符拆分数组。
例如,假设我们有以下电子邮件列表:
假设我们要根据@符号出现的位置将每封电子邮件拆分为一个数组。
我们可以创建以下宏来执行此操作:
SubSplitString ()
Dim SplitValues() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SplitValues = Split(Range(" A " & i), " @ ")
For j = 1 To 2
Cells(i, j + 1).Value = SplitValues(j - 1)
Next j
Next i
End Sub
当我们运行这个宏时,我们会收到以下输出:
拆分函数根据 @ 符号拆分 A 列中的每封电子邮件,并将结果项目显示在 B 列和 C 列中。
注意:您可以在此处找到 VBA Split函数的完整文档。
其他资源
以下教程说明如何使用 VBA 执行其他常见任务:
VBA:如何计算字符串中字符的出现次数
VBA:如何检查一个字符串是否包含另一个字符串
VBA:如何计算具有特定文本的单元格