DESCONSIDERAR DEPOIS QUE CHEGAR EM UMA LETRA
Oie... Por favor help!!!! como poderia fazer para assim que informar um documento exemplo: 1525M200
quando chegar na primeira letra desconsiderar o restante dos números.
tentei fazendo um for mas sem resultado.
obrigada.
quando chegar na primeira letra desconsiderar o restante dos números.
tentei fazendo um for mas sem resultado.
obrigada.
use
left([Ô]1525M200[Ô],instr(1,[Ô]1525M200[Ô],[Ô]M[Ô]))
o retorno será: 1525M
left([Ô]1525M200[Ô],instr(1,[Ô]1525M200[Ô],[Ô]M[Ô]))
o retorno será: 1525M
mas posso informar outras letras e outras letras
outro exemplo: 1526S2
não tenho um tamanho fixo
nem para o antes da letra nem para o depois se tivesse fazia um [Ô]mid[Ô]
outro exemplo: 1526S2
não tenho um tamanho fixo
nem para o antes da letra nem para o depois se tivesse fazia um [Ô]mid[Ô]
mas isso não é um tamanho fixo... ele acha qual é a posicao que está a letra e retira a string exemplo:
left([Ô]1525M200[Ô],instr(1,[Ô]1525M200[Ô],[Ô]ABCDEFMNOPQRTUV[Ô]))
o retorno seria: 1525M
left([Ô]152B52058552262662[Ô],instr(1,[Ô]152B52058552262662[Ô],[Ô]ABCDEFMNOPQRTUV[Ô]))
o retorno seria: 152B
entendeu?
left([Ô]1525M200[Ô],instr(1,[Ô]1525M200[Ô],[Ô]ABCDEFMNOPQRTUV[Ô]))
o retorno seria: 1525M
left([Ô]152B52058552262662[Ô],instr(1,[Ô]152B52058552262662[Ô],[Ô]ABCDEFMNOPQRTUV[Ô]))
o retorno seria: 152B
entendeu?
Luiz desculpe mas~ñ consegui fazer
em vez do valor teria que pegar de um textbox e como não sei a letra para desconsiderar ela (Letra) e depois dela tbm, teria que colocar tbm o alfabeto.
agradeço a ajuda e me desculpe
em vez do valor teria que pegar de um textbox e como não sei a letra para desconsiderar ela (Letra) e depois dela tbm, teria que colocar tbm o alfabeto.
agradeço a ajuda e me desculpe
assim colega
coloque seu codigo no textbox, e veja o resultado
Private Sub Command1_Click()
Dim Letra As String, Posicao As Integer
For f = 1 To Len(Text1.Text)
Letra = Mid(Text1.Text, f, 1)
If Asc(UCase(Letra)) >= Asc([Ô]A[Ô]) And Asc(UCase(Letra)) <= Asc([Ô]Z[Ô]) Then
Posicao = f
End If
Next f
MsgBox Mid(Text1.Text, 1, Posicao - 1)
End Sub
coloque seu codigo no textbox, e veja o resultado
montei a função para você compreender melhor:
[ô]Inicio Funcão====================
Function QuebraTexto(Texto As String, Optional TrazerLetra As Boolean) As String
Dim i As Integer
For i = 97 To 122
QuebraTexto = Left(Texto, InStr(1, UCase(Texto), UCase(Chr(i))))
If QuebraTexto <> [Ô][Ô] And TrazerLetra = True Then QuebraTexto = Left(QuebraTexto, Len(QuebraTexto) - 1): Exit For
If QuebraTexto <> [Ô][Ô] Then Exit For
Next
End Function
[ô]Final Função====================
para chamar a função basta colocar :
QuebraTexto(text1.text)
exemplo como se seu text tivesse o conteúdo de 858424M5445454:
MsgBox QuebraTexto([Ô]858424M5445454[Ô]) [ô] --> O retorno será 858424M
caso queira que corte a Letra basta colocar :
MsgBox QuebraTexto([Ô]858424M5445454[Ô],true) [ô]--> O retorno será 858424
Bom é isso ai !
[ô]Inicio Funcão====================
Function QuebraTexto(Texto As String, Optional TrazerLetra As Boolean) As String
Dim i As Integer
For i = 97 To 122
QuebraTexto = Left(Texto, InStr(1, UCase(Texto), UCase(Chr(i))))
If QuebraTexto <> [Ô][Ô] And TrazerLetra = True Then QuebraTexto = Left(QuebraTexto, Len(QuebraTexto) - 1): Exit For
If QuebraTexto <> [Ô][Ô] Then Exit For
Next
End Function
[ô]Final Função====================
para chamar a função basta colocar :
QuebraTexto(text1.text)
exemplo como se seu text tivesse o conteúdo de 858424M5445454:
MsgBox QuebraTexto([Ô]858424M5445454[Ô]) [ô] --> O retorno será 858424M
caso queira que corte a Letra basta colocar :
MsgBox QuebraTexto([Ô]858424M5445454[Ô],true) [ô]--> O retorno será 858424
Bom é isso ai !
Tópico encerrado , respostas não são mais permitidas