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