Vba: como dividir uma string com base em vários delimitadores


Você pode usar a seguinte sintaxe básica para dividir uma string com base em vários delimitadores no 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

Este exemplo específico divide cada string no intervalo A2:A7 com base em hífens ou espaços em cada string e, em seguida, atribui os elementos resultantes de cada string a células adjacentes nas colunas B, C e D.

Nota : Esta macro primeiro substitui cada hífen por um espaço e, em seguida, divide cada string com base na localização dos espaços.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: dividir uma string com base em vários delimitadores em VBA

Suponha que temos a seguinte lista de nomes no Excel:

Suponha que queiramos dividir cada nome com base em hífens ou espaços e, em seguida, atribuir os elementos resultantes de cada string a novas células.

Podemos criar a seguinte macro para fazer isso:

 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

Quando executamos esta macro, recebemos a seguinte saída:

String dividida VBA com base em vários delimitadores

Observe que esta macro divide cada string na coluna A com base em espaços e hifens e exibe os elementos de texto individuais de cada string nas colunas B, C e D.

Nota nº 1: estamos dividindo strings com base em hífens e espaços neste exemplo, mas você pode dividir strings com base em quaisquer delimitadores desejados, especificando-os nas funções Substituir e Dividir .

Nota nº 2 : você pode encontrar a documentação completa da função VBA Split aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns usando VBA:

VBA: Como contar ocorrências de caracteres em uma string
VBA: como verificar se uma string contém outra string
VBA: Como contar células com texto específico

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *