Vba:如何根据多个分隔符分割字符串
您可以使用以下基本语法在 VBA 中根据多个分隔符拆分字符串:
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
newString = Replace(Range(" A " & i), " - ", " ")
SingleValue = Split(newString, " ")
For j = 1 To 3
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
此特定示例根据每个字符串中的连字符或空格划分A2:A7范围内的每个字符串,然后将每个字符串的结果元素分配给 B、C 和 D 列中的相邻单元格。
注意:该宏首先用空格替换每个连字符,然后根据空格的位置分割每个字符串。
以下示例展示了如何在实践中使用此语法。
示例:在 VBA 中根据多个分隔符拆分字符串
假设我们在 Excel 中有以下姓名列表:
假设我们要根据连字符或空格拆分每个名称,然后将每个字符串的结果元素分配给新单元格。
我们可以创建以下宏来执行此操作:
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
newString = Replace(Range(" A " & i), " - ", " ")
SingleValue = Split(newString, " ")
For j = 1 To 3
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
当我们运行这个宏时,我们会收到以下输出:
请注意,此宏根据空格和连字符拆分 A 列中的每个字符串,并显示 B、C 和 D 列中每个字符串的各个文本元素。
注意#1:在此示例中,我们根据连字符和空格拆分字符串,但您可以通过在Replace和Split函数中指定分隔符来根据所需的任何分隔符拆分字符串。
注意#2 :您可以在此处找到 VBA Split函数的完整文档。
其他资源
以下教程说明如何使用 VBA 执行其他常见任务:
VBA:如何计算字符串中字符的出现次数
VBA:如何检查一个字符串是否包含另一个字符串
VBA:如何计算具有特定文本的单元格