Vba: como dividir uma string em um array (com exemplo)


Você pode usar a seguinte sintaxe básica para dividir uma string em um array usando 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

Este exemplo específico divide cada string no intervalo A2:A7 com base nos espaços em cada string e, em seguida, atribui os elementos resultantes de cada string aos intervalos de células B2:B7 e C2:C7 .

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

Exemplo: usando VBA para dividir uma string em um array

Suponha que temos a seguinte lista de strings no Excel:

Suponha que queiramos dividir cada string com base nos espaços em branco e, em seguida, atribuir os elementos resultantes de cada string a novas células.

Podemos criar a seguinte macro para fazer isso:

 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

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

VBA divide string em array

Observe que as colunas B e C contêm o nome e o sobrenome de cada nome completo na coluna A.

Observe também que você pode usar a função VBA Split para dividir uma matriz com base em um delimitador diferente.

Por exemplo, suponha que temos a seguinte lista de e-mail:

Digamos que queremos dividir cada e-mail em um array com base em onde o símbolo @ aparece.

Podemos criar a seguinte macro para fazer isso:

 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

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

A função Split divide cada email na coluna A com base no símbolo @ e exibe os itens resultantes nas colunas B e C.

Nota : 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 *