Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Separa texto de uma célula
Separa texto de uma célula
Pessoal, Eu tenho numa célula o texto: casa de milho 135
Eu quero um comando vba que conte os três últimos caracteres da célula e recorte e cole na célula a frente, logo ficará assim.
A1 B1
casa de milho | 135
é que tenho uma relação enorme de células que terei de fazer isso
Quero automatizar a coisa
aguardo
Adonias
Eu quero um comando vba que conte os três últimos caracteres da célula e recorte e cole na célula a frente, logo ficará assim.
A1 B1
casa de milho | 135
é que tenho uma relação enorme de células que terei de fazer isso
Quero automatizar a coisa
aguardo
Adonias
Re: Separa texto de uma célula
Olá Adonias
Crie um Form com um CommandButton e insira o seguinte código:
Qualquer coisa posta aqui.
Abraço...
Crie um Form com um CommandButton e insira o seguinte código:
Código: Selecionar todos
Private Sub CommandButton1_Click()
Range("A1").Select
Dim j As String
Dim k As String
While ActiveCell <> ""
j = Right(ActiveCell.Text, 3)
ActiveCell.Offset(0, 1).Value = j
j = Len(ActiveCell.Text)
k = Left(ActiveCell.Text, j - 3)
ActiveCell.Value = k
ActiveCell.Offset(1, 0).Select
Wend
End Sub
Abraço...
- BaptistaCG
- Colaborador
- Mensagens: 96
- Registrado em: Seg Jul 30, 2012 10:33 pm
- Localização: Sorocaba/SP
Re: Separa texto de uma célula
McJota escreveu:Olá Adonias
Crie um Form com um CommandButton e insira o seguinte código:Qualquer coisa posta aqui.Código: Selecionar todos
Private Sub CommandButton1_Click() Range("A1").Select Dim j As String Dim k As String While ActiveCell <> "" j = Right(ActiveCell.Text, 3) ActiveCell.Offset(0, 1).Value = j j = Len(ActiveCell.Text) k = Left(ActiveCell.Text, j - 3) ActiveCell.Value = k ActiveCell.Offset(1, 0).Select Wend End Sub
Abraço...
Parabéns McJota
Excelente Macro.
Re: Separa texto de uma célula
Valeu mesmo, obrigado pessoal.
agora digam-me: se eu quisesse que houvesse um loop para ao terminar a relação o codigo retornasse e começasse tudo denovo pegando os último três caracteres novamente e pondo-os na terceira coluna desta vez.
como seria esse código?
valeu
agora digam-me: se eu quisesse que houvesse um loop para ao terminar a relação o codigo retornasse e começasse tudo denovo pegando os último três caracteres novamente e pondo-os na terceira coluna desta vez.
como seria esse código?
valeu
Re: Separa texto de uma célula
Ola Adonias.
Digamos que na célula a1 tenha o seguinte texto "Tenha um bom dia".
Com este código:Ficaria assim: "Tenha um" "dia" "bom"!
Com este código:Ficaria assim: "Tenha um" "bom" "dia"!
Abraço...
Digamos que na célula a1 tenha o seguinte texto "Tenha um bom dia".
Com este código:
Código: Selecionar todos
Private Sub CommandButton1_Click()
Range("A1").Select
Dim j As String
Dim k As String
While ActiveCell <> ""
j = Right(ActiveCell.Text, 3)
ActiveCell.Offset(0, 1).Value = j
j = Len(ActiveCell.Text)
k = Left(ActiveCell.Text, j - 3)
ActiveCell.Value = k
ActiveCell.Offset(1, 0).Select
Wend
Range("A1").Select
While ActiveCell <> ""
j = Right(ActiveCell.Text, 3)
ActiveCell.Offset(0, 2).Value = j
j = Len(ActiveCell.Text)
k = Left(ActiveCell.Text, j - 3)
ActiveCell.Value = k
ActiveCell.Offset(1, 0).Select
Wend
End Sub
Com este código:
Código: Selecionar todos
Private Sub CommandButton1_Click()
Range("A1").Select
Dim j As String
Dim k As String
While ActiveCell <> ""
j = Right(ActiveCell.Text, 3)
ActiveCell.Offset(0, 2).Value = j
j = Len(ActiveCell.Text)
k = Left(ActiveCell.Text, j - 3)
ActiveCell.Value = k
ActiveCell.Offset(1, 0).Select
Wend
Range("A1").Select
While ActiveCell <> ""
j = Right(ActiveCell.Text, 4)
ActiveCell.Offset(0, 1).Value = j
j = Len(ActiveCell.Text)
k = Left(ActiveCell.Text, j - 4)
ActiveCell.Value = k
ActiveCell.Offset(1, 0).Select
Wend
End Sub
Abraço...
- BaptistaCG
- Colaborador
- Mensagens: 96
- Registrado em: Seg Jul 30, 2012 10:33 pm
- Localização: Sorocaba/SP
Re: Separa texto de uma célula
É só ir aumentando o valor que esta em vermelho, a cada vez que aumentar ele irá pular para a próxima coluna neste exemplo ele irá colocar na coluna cAdonias escreveu:Valeu mesmo, obrigado pessoal.
agora digam-me: se eu quisesse que houvesse um loop para ao terminar a relação o codigo retornasse e começasse tudo denovo pegando os último três caracteres novamente e pondo-os na terceira coluna desta vez.
como seria esse código?
valeu
Note: para fazer esse procedimento vai ser necessário manter os ultimos 3 digitos para que ele continue a fazer, então é só ir duplicando o codigo para cada coluna nova que vc precisar, e no final colocar uma sequencia que seja igual a anterior que apagava os ultimos tres.
Desta forma que apresentei declarei mais uma variavel chamada x e determinei o valor dela o mesmo da celula ativa para que no final do codigo mantenha o valor original.
Espero que eu tenha sido claro com a explicação.
Private Sub CommandButton1_Click()
Range("A1").Select
Dim j As String
Dim k As String
While ActiveCell <> ""
Dim x
x = ActiveCell.Value
j = Right(ActiveCell.Text, 3)
ActiveCell.Offset(0, 2).Value = j
j = Len(ActiveCell.Text)
k = Left(ActiveCell.Text, j - 3)
ActiveCell.Value = x
ActiveCell.Offset(1, 0).Select
Wend
End Sub
Att...