Excel VBA – Dividir uma Cadeia de Caracteres em Células
Este tutorial demonstrará como dividir strings de texto em células no VBA.
Dividir a Cadeia de Caracteres em Células
No VBA, podemos usar a função Split para dividir uma cadeia de caracteres de texto em uma matriz.
Observação: escrevemos um mega-guia completo sobre o uso da função Split no VBA.É altamente recomendável que você dê uma olhada nele.
Em seguida, podemos percorrer a matriz, retornando o texto dividido em células do Excel.
Sub ExemploSplitPontoEVirgula()
'Definir variáveis
Dim MinhaMatriz() As String, MinhaString As String, I As Variant, N As Integer
'Amostra de string com delimitadores de ponto e vírgula
MinhaString = "john@myco.com;jane@myco.com;bill@myco.com;james@myco.com"
'Usar a função Split para dividir as partes componentes da cadeia de caracteres
MinhaMatriz = Split(MinhaString, ";")
'Limpe a planilha
ActiveSheet.UsedRange.Clear
'percorrer a matriz
For N = 0 To UBound(MinhaMatriz)
'Colocar cada endereço de e-mail na primeira coluna da planilha
Range("A" & N + 1).Value = MinhaMatriz(N)
Next N
End Sub
Como alternativa, podemos usar a função Transpose para gerar a matriz em uma planilha:
Sub CopiarParaIntervalo()
'Criar variáveis
Dim MinhaMatriz() As String, MinhaString As String
'Amostra de string com delimitadores de espaço
MinhaString = "Um,Dois,Três,Quatro,Cinco,Seis"
'Usar a função Split para dividir as partes componentes da string
MinhaMatriz = Split(MinhaString, ",")
'Copiar a matriz para a planilha
Range("A1:A" & UBound(MinhaMatriz) + 1).Value = WorksheetFunction.Transpose(MinhaMatriz)
End Sub