Abaixo, veremos um programa em Excel VBA que separa strings.
Situação:
Coloque um botão de comando em sua planilha e adicione as seguintes linhas de código:
1. Primeiro, declaramos uma variável chamada fullname do tipo String, uma variável chamada vírgula do tipo Integer e uma variável chamada i do tipo Integer.
Dim fullname As String, vírgula As Integer, i As Integer
O problema com o qual estamos lidando é que precisamos dizer ao Excel VBA onde queremos separar a string. No caso de Smith, Mike a vírgula está na posição 6, enquanto no caso de Williams, Janet a vírgula está na posição 9.
2. Usamos um loop para executar as operações em cada nome inserido no Excel. Primeiro, inicializamos a variável fullname. Em seguida, usamos a função Instr para encontrar a posição da vírgula.
Para i = 2 a 7
fullname = Células (i, 1) .Valor
commaposition = InStr (fullname, ",")
3. Finalmente, queremos escrever a parte após a vírgula na coluna B e a parte antes da vírgula na coluna C. Você pode fazer isso adicionando as linhas:
Células (i, 2) .Value = Mid (fullname, vírgula + 2)
Células (i, 3) .Value = Left (fullname, vírgula - 1)
Mid (fullname, vírgula + 2) significa que queremos a parte do fullname começando no caractere 'vírgula + 2' (este é exatamente o primeiro nome).
Esquerda (fullname, vírgula - 1) significa que queremos a parte de fullname começando do início até o caractere 'vírgula- 1' (este é exatamente o sobrenome).
4. Não se esqueça de fechar o loop.
Proximo eu
5. Adicione seis nomes separados por vírgula e espaço ao intervalo ("A2: A7").
6. Teste o programa.
Resultado: