Esqueceu sua senha? Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

pesquisar,copiar e colar partes de texto com vba

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
zen
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Sex Dez 20, 2019 6:32 pm

pesquisar,copiar e colar partes de texto com vba

Mensagem por zen » Seg Mar 02, 2020 8:50 pm

Pessoal, preciso localizar uma sequência de números dentro de uma frase e copiar. Ex: "cod pedido tms 4502382223 ref ao chamado sl00231244 "preciso copiar e colar somente o "4502382223", o problema e que o restante do texto que vem antes e depois variam tipo, as vezes vem como cod,codigo,ped etc. Alguém pode me ajudar como fazer isso em vba?



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Alyson
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Sex Mar 06, 2020 6:56 pm

Re: pesquisar,copiar e colar partes de texto com vba

Mensagem por Alyson » Dom Mar 08, 2020 6:15 am

Bom dia. Poderia dar exemplos dessas variações?



zen
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Sex Dez 20, 2019 6:32 pm

Re: pesquisar,copiar e colar partes de texto com vba

Mensagem por zen » Dom Mar 08, 2020 6:06 pm

ola Alyson, as variações são algo como "codigo pedido tms 4502382223 referente ao chamado sl00231244 "
as vezes :pedido tms 4502382223 ref ao chamado sl00231244 " ou as vezes,"cod pedido tms 4502382223 ref ao chamado sl00231244 le:000000pbr17 lr:00000300456 " a formula em excel: =EXT.TEXTO(A1;PROCURAR("450";A1);10) da certo a extração somente do numero começado com 450, mas não consegui passar para vba de modo eficaz. consegui com o codigo:

Dim Z As Integer
Dim myRange As Range
Set myRange = Plan1.Range("A1") 'texto esta aqui
Dim myRange2 As Range
Set myRange2 = Plan1.Range("A2")
Z = 1
Do While Z <> Len(myRange)
If IsNumeric(Mid(myRange, Z, 1)) Then
myRange2 = myRange2 & Mid(myRange, Z, 1)
End If
Z = Z + 1
Loop

mas se tiver outros valores numericos na frase ele falha em seu proposito.



srobles
Jedi
Jedi
Mensagens: 776
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: pesquisar,copiar e colar partes de texto com vba

Mensagem por srobles » Sáb Mar 14, 2020 3:00 am

zen,

Experimentou usar a função Split?

Veja abaixo, se a rotina atende sua necessidade.

Código: Selecionar todos

Sub extrairPedido()
    Dim planDados As Worksheet
    Set planDados = ThisWorkbook.Sheets(1)
    
    Dim linhaAtual As Long, linhaFinal As Long
    With planDados
        linhaAtual = 1
        linhaFinal = .Cells(Rows.Count, 1).End(xlUp).Row
        
        While linhaAtual <= linhaFinal
            If Split(.Cells(linhaAtual, 1), " ")(1) = "tms" Then .Cells(linhaAtual, 2) = Split(.Cells(linhaAtual, 1), " ")(2)
            If Split(.Cells(linhaAtual, 1), " ")(1) = "pedido" Then .Cells(linhaAtual, 2) = Split(.Cells(linhaAtual, 1), " ")(3)
            linhaAtual = linhaAtual + 1
        Wend
    End With
End Sub


Espero ter ajudado.

Abs.

Saulo Robles


Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond


Se suas dúvidas foram esclarecidas, acrescente ao lado do título o texto [RESOLVIDO].

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


zen
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Sex Dez 20, 2019 6:32 pm

Re: pesquisar,copiar e colar partes de texto com vba

Mensagem por zen » Sex Mar 20, 2020 11:56 am

Obrigado saulo! mas consegui atraves deste codigo que independente do valor numerico que esteja na frase ele me devolve a sequencia dos 10 digitos que preciso começado com "450"

Sub testmid()
Plan1.Select

Dim rng As Range
Set rng = Plan1.Range("a1")
[b2] = Mid(rng, InStr(rng, "450") - 1, 11)



End Sub




Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder