Vídeo recomendado
https://youtu.be/diWPPPhW-9E

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 »

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 »

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 »

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: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

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

Mensagem por srobles »

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


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 »

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


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 [RESOLVIDO]

Mensagem por zen »

:!:


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