CAPTURAR PONTO NUMA STRING
Pessoal, eu tenho um string e quero saber onde há ponto para dar um msg ao usuario.
vou por exemplo que eu tenho feito:
If txtcapsocial.Text <> "" Then
For i = 1 To Len(txtcapsocial.Text)
Dim c As String
c = Mid(txtcapsocial.Text, i, i)
If c = "." Then
MsgBox "Caracter '.' inválido" & Chr(13) & "Para separar as casas décimais use a vÃrgula", vbCritical, "Empresa"
txtcapsocial.SetFocus
Exit For
End If
Next i
------------------------------------------
o problema é que o vb n me dá o ponto só. o que ele vai gerar vai ser
"2." ou ".22" no caso do numero for "22.22" quando o i = 4.
sem ser o replace alguma sugestao como é k isso acontece?
vou por exemplo que eu tenho feito:
If txtcapsocial.Text <> "" Then
For i = 1 To Len(txtcapsocial.Text)
Dim c As String
c = Mid(txtcapsocial.Text, i, i)
If c = "." Then
MsgBox "Caracter '.' inválido" & Chr(13) & "Para separar as casas décimais use a vÃrgula", vbCritical, "Empresa"
txtcapsocial.SetFocus
Exit For
End If
Next i
------------------------------------------
o problema é que o vb n me dá o ponto só. o que ele vai gerar vai ser
"2." ou ".22" no caso do numero for "22.22" quando o i = 4.
sem ser o replace alguma sugestao como é k isso acontece?
If txtcapsocial.Text <> "" Then
For i = 1 To Len(txtcapsocial.Text)
Dim c As String
c = Mid(txtcapsocial.Text, i, 1)
If c = "." Then
MsgBox "Caracter '.' inválido" & Chr(13) & "Para separar as casas décimais use a vÃrgula", vbCritical, "Empresa"
txtcapsocial.SetFocus
Exit For
End If
Next i
tente como está acima
Eu faria diferente.Acho que isso aqui vai te ajudar..
[c]
Dim pos As Integer
pos = InStr(txtcapsocial.Text, ".")
If pos > 0 Then
MsgBox "Caracter '.' inválido" & Chr(13) & "Para separar as casas décimais use a vÃrgula", vbCritical, "Empresa"
End If
[c]
'Qualquer dúvida poste novamente....
[c]
Dim pos As Integer
pos = InStr(txtcapsocial.Text, ".")
If pos > 0 Then
MsgBox "Caracter '.' inválido" & Chr(13) & "Para separar as casas décimais use a vÃrgula", vbCritical, "Empresa"
End If
[c]
'Qualquer dúvida poste novamente....
Não precisa de loop
If InStr(1, txtcapsocial.Text, ".", vbTextCompare) Then
MsgBox "Caracter '.' inválido" & Chr(13) & "Para separar as casas décimais use a vÃrgula", vbCritical, "Empresa"
txtcapsocial.SetFocus
End If
Tópico encerrado , respostas não são mais permitidas