Para fazer isso, é preciso que todas as strings tenham um delimitador claro. Usei o underline como delimitador.
Além disso, é necessário que todas as strings estejam padronizadas. Por exemplo, se algumas strings apresentarem falha na terceira parte (apenas uma hipótese), aí já vai dar erro, pois o código pode considerar a quarta como terceira, a quinta como quarta e a sexta como quinta...
Em caso de falhas, vai te dar uma tremenda dor de cabeça.
Option Explicit
Sub dividir()
On Error Resume Next
Dim linha As Long
Dim str() As String
linha = 2
While Plan1.Range("A" & linha).Value <> ""
str = Split(Plan1.Range("A" & linha).Value, "_")
Plan1.Range("C" & linha).Value = str(0)
Plan1.Range("D" & linha).Value = str(1)
Plan1.Range("E" & linha).Value = str(2)
Plan1.Range("F" & linha).Value = str(3)
linha = linha + 1
Wend
End Sub
Cinco dicas que foram muito úteis para mim:
1) Quando não sei fazer algo no VBA, vou ao menu EXIBIÇÃO >> MACROS >> GRAVAR MACRO
Faço o que eu quero aí volto ao menu EXIBIÇÃO >> MACROS >> PARAR GRAVAÇÃO
Aperto Alt + F11 e vejo como a macro fez aqui. Tento entender e tento adaptar.
2) Quando vou criar um código e o resultado não está saindo como o esperado, entro no código e vou apertando F8 para executar passo a passo, aí vou passando o mouse sobre as variáveis para verificar se o valores delas estão corretos, já consertei milhares de códigos dessa forma.
3) Antes de executar o código, vou ao menu Depurar >> Compilar. Isso ajuda corrigir erros mais simples, como o nome de uma variável digitado errado.
4) Declaro todas as variáveis. Isso também evita erros.
5) Sempre uso o Option Explicit lá no início. Ele me obriga a declarar as variáveis.
Postado : 13/02/2018 7:05 pm