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

当我们运行这个宏时,我们会收到以下输出:

VBA基于多个分隔符分割字符串

请注意,此宏根据空格和连字符拆分 A 列中的每个字符串,并显示 B、C 和 D 列中每个字符串的各个文本元素。

注意#1:在此示例中,我们根据连字符和空格拆分字符串,但您可以通过在ReplaceSplit函数中指定分隔符来根据所需的任何分隔符拆分字符串。

注意#2 :您可以在此处找到 VBA Split函数的完整文档。

其他资源

以下教程说明如何使用 VBA 执行其他常见任务:

VBA:如何计算字符串中字符的出现次数
VBA:如何检查一个字符串是否包含另一个字符串
VBA:如何计算具有特定文本的单元格

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注