TRATAR TEXTBOX STRING
Pessoal.sera que alguem poderia me dar uma ajudinha?
em um textbox tenho o seguinte valor:
text1 = "2 (55) 9870-8299" com espaço e tudo mais
queria que na text2 fosse igual a text1 porem:
s/ 1º caracter, ou seja, o 2
s/ espaço e s/ parenteses
ficando assim: text2 = 5598708299
alguem ai?
em um textbox tenho o seguinte valor:
text1 = "2 (55) 9870-8299" com espaço e tudo mais
queria que na text2 fosse igual a text1 porem:
s/ 1º caracter, ou seja, o 2
s/ espaço e s/ parenteses
ficando assim: text2 = 5598708299
alguem ai?
Faço o seguinte no lost focus do textbox1
dim text2 as string
text2 = mid(2,len(textbo1)
Text2 = replace(text2,"(","")
Text2 = replace(text2,")","")
Text2 = replace(text2,"-","")
Text2 = replace(text2," ","")
textbox2 = text2
Não testei, mas se não for isso é quase.
dim text2 as string
text2 = mid(2,len(textbo1)
Text2 = replace(text2,"(","")
Text2 = replace(text2,")","")
Text2 = replace(text2,"-","")
Text2 = replace(text2," ","")
textbox2 = text2
Não testei, mas se não for isso é quase.
obrigado pela ajuda Marcos...
mas ele funcionou só para os parenteses
pois ele nao tirou o 1º caracter e nem os espaços
sera quem nao teria como me ajudar mais um pouco
mas ele funcionou só para os parenteses
pois ele nao tirou o 1º caracter e nem os espaços
sera quem nao teria como me ajudar mais um pouco
Acho q é isso marcosa..
Dim esq, dir, esp, tra As String
esq = Replace(Me.Text1, "(", vbNullString)
dir = Replace(esq, ")", vbNullString)
esp = Replace(dir, " ", vbNullString)
tra = Replace(esp, "-", vbNullString)
Me.Text2 = tra
Acho q é isso marcosa..
Dim esq, dir, esp, tra As String
esq = Replace(Me.Text1, "(", vbNullString)
dir = Replace(esq, ")", vbNullString)
esp = Replace(dir, " ", vbNullString)
tra = Replace(esp, "-", vbNullString)
Me.Text2 = tra
Aqui um exemplo q fiz pra vc...
heee.. funcionou...
mas só faltou Silver o primeiro caracter
eu nao queria que ele aparecesse
como faz isso?
é algo com len neh??
mas só faltou Silver o primeiro caracter
eu nao queria que ele aparecesse
como faz isso?
é algo com len neh??
A resposta do Marcos esta correta. Para que possa estudar, segue um exemplo usando uma função onde você possa entrar com uma string e um ponto de indicação de inicio de leitura, por exemplo, a partir do segundo caracter, e o retorno será apenas os numeros, independente do tipo de caracter que existir. No caso o replace deverá levar em conta que podem existir outros caracteres, como por exemplo o "-"
Para uso
Private Function ReescreveSoNumeros(strTexto As String, iApartirDoCaracter As Integer) As String
Dim i As Integer
ReescreveSoNumeros = ""
For i = iApartirDoCaracter To Len(strTexto)
If Asc(Mid(strTexto, i, 1)) > 45 And Asc(Mid(strTexto, i, 1)) < 58 Then
ReescreveSoNumeros = ReescreveSoNumeros + Mid(strTexto, i, 1)
End If
Next
Exit Function
End Function
Para uso
Private Sub Command1_Click()
Text2.Text = ReescreveSoNumeros(Text1.Text, 2)
End Sub
text2 = mid(text1,4,2) & mid(text1,8 4) & midtext1,13,4)
Olá isto funciona, é simples, prático e e se resolve em uma linha!
boa sorte e ótimo final de semana!
E se alguem te ajudou não se esqueça... Pontue!
Olá isto funciona, é simples, prático e e se resolve em uma linha!
boa sorte e ótimo final de semana!
E se alguem te ajudou não se esqueça... Pontue!
Fa isso linda:
Dim esq, dir, esp, tra As String
esq = Replace(Me.Text1, "(", vbNullString)
dir = Replace(esq, ")", vbNullString)
esp = Replace(dir, " ", vbNullString)
tra = Replace(esp, "-", vbNullString)
Me.Text2 = Mid(tra, 2) 'Mudei aqui
Mais uma vez, o uso do replace é indicado para quando se sabe exatamente o caracter a ser substituido. Neste caso, toda vez que surgir um carater novo, seja [, {, . ou o que for, o código tera que ser readaptado. Repnese e imagine que a situação pode mudar externamente e o seu código deve estar preparado internamente.
Tópico encerrado , respostas não são mais permitidas