Notifications
Clear all

Retornar parte de um texto

13 Posts
4 Usuários
0 Reactions
1,818 Visualizações
 fern
(@fern)
Posts: 9
Active Member
Topic starter
 

Boa tarde,

Gostaria de uma ajuda, sou iniciante no processo de macro, e gostaria de uma ajuda para uma..
é o seguinte, tenho uma planilha onde constam 40.000 mil nomes e preciso atualiza-la.

Acontece que gostaria de eliminar a partir do - e deixar somente o nome..

Alguém poderia me ajudar com essa?

Usuário/Cartão
FERNANDA RODRIGUES SILVA - TAG ODG 6332

Obrigada e agradeço desde ja.

 
Postado : 20/06/2016 12:04 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Tente assim

Selecione a coluna a partir da linha 1 ate a ultima preenchida

(NAO É PRA CLICAR NA LETRA DA COLUNA)

Ctrl+U

Em Localizar -
Em Substituir deixe em Branco

Clique em Substituir Tudo

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 20/06/2016 12:09 pm
 fern
(@fern)
Posts: 9
Active Member
Topic starter
 

Então, essa parte eu já sei, mas não teria algo um pouco mais especifico?
eu quero deixar somente o nome da pessoa, essas outras informações após o "-" queria retira-las

São diversos nomes e muitas tags/inf diferentes

ANTONIO CARLOS MOREIRA DE VASCONCELOS - TAG - KZC0411
ANTONIO MARQUES FILHO - TAG - KUQ 2585
ANTONIO ORESTES DE S. CASTRO - TAG - KNV7607

entende?

Obrigada.

 
Postado : 20/06/2016 1:00 pm
Zgoda
(@zgoda)
Posts: 90
Estimable Member
 

olha, se depois do nome sempre for : " - TAG - XXX 0000"

dá pra usar =ESQUERDA(A1;NÚM.CARACT(A1)-15), sendo A1 onde está o texto.

pq se for " - TAG - KUQ2585" (sem espaço no final entre as letras e os números), daí tem que ser =ESQUERDA(A1;NÚM.CARACT(A1)-14)

 
Postado : 20/06/2016 1:11 pm
Zgoda
(@zgoda)
Posts: 90
Estimable Member
 

Ou se sempre tiver um espaço após o nome e depois o hífen, use: =ESQUERDA(A1;PROCURAR("-";A1)-2), se o hífen estiver logo após o nome use: =ESQUERDA(A1;PROCURAR("-";A1)-1)

 
Postado : 20/06/2016 1:20 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Outra forma é se nao existir crie uma coluna vazia (sera apagada)

Dados > Textos Para Coluna > Delimitado > Outros digite - Avançar > Concluir

Pronto

Exclua a coluna.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 20/06/2016 4:46 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

.
Supondo tudo na coluna A ... B1=(ESQUERDA(A1;LOCALIZAR(" -";A1)-1)) ... só arrastar até onde desejar !!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 20/06/2016 8:11 pm
 fern
(@fern)
Posts: 9
Active Member
Topic starter
 

Obrigada gente!

Essa fórmula eu também sei, é que eu não queria alterar/por em uma nova coluna por conta do relatório, por isso queria ver se teria uma macro pra isso, mas vou ver aqui o que consigo fazer!

Obrigada, novamente!!

 
Postado : 21/06/2016 5:26 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Se está querendo uma rotina que altere e substiyua os nomes na própria coluna, pode usar a rotina abaixo.

Estou supondo que a relação inicia em A2, será removido tudo após o primeiro " -"
Se quiser o resultado em outra coluna, altere o numero 1 em (linha, 1)

Sub ReplaceNomesMauro()

    Dim ultLin
    Dim sNomes
    Dim sRgNomes As Range
    Dim linha

    linha = 2 'Linha Inicial
    
    'Ultima linha preenchida
    ultLin = Range("A" & Rows.Count).End(xlUp).Row
    
    'Definimos o Range
    Set sRgNomes = Range("A2" & ":" & "A" & ultLin)
       
    'Para cada nome na coluna A no Range Definido
    For Each sNomes In sRgNomes
        
        'Alteramos o nome na propria celula
        'se quiser em outra coluna, altere o numero 1 em (linha, 1)
        Cells(linha, 1).Value = Left(sNomes, InStr(sNomes, " -") - 1)
        
        linha = linha + 1
        
    Next sNomes

End Sub

Faça os

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/06/2016 6:17 am
 fern
(@fern)
Posts: 9
Active Member
Topic starter
 

Mauro, muito obrigad apela ajuda.. porém está dando erro nesta parte:

Cells(linha, 1).Value = Left(sNomes, InStr(sNomes, " -") - 1)
 
Postado : 21/06/2016 8:30 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

fern, se tivesse colocado qual erro está ocorrendo ficaria mais fácil, mas vou supor que na Coluna onde estão os Nomes, ou temos linhas vazias ou não temos a String da separação " -" no texto (nome) que estamos verificando.

Se for isto, somente acrescente a linha abaixo :
On Error Resume Next
'Antes desta
'Para cada nome na coluna A no Range Definido
For Each sNomes In sRgNomes

Se não for isto, favor detalhar qual o erro e se persisitir anexe um modelo reduzido para uma analise melhor.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/06/2016 8:51 am
 fern
(@fern)
Posts: 9
Active Member
Topic starter
 

ahhhh, já entendi..

Então ela só vai funcionar para depois do tracinho, tem alguns nomes, por exemplo que nao tem, que estão ok.
Qual seria a outra parte para "não fazer nada", na vdd uma condição, não é isso?

 
Postado : 21/06/2016 8:56 am
 fern
(@fern)
Posts: 9
Active Member
Topic starter
 

Mauro!!! Muitisimo obrigada!!

Salvou minha vida, ficarei eternamente agradecida.

Obrigada de verdade, tu manda muito :D :D :D

 
Postado : 21/06/2016 9:07 am