AJUDA NA FUNCAO E SO ACEITAR NUMEROS

SMZTODOPODEROSO 20/12/2010 22:38:40
#360036
Estou com um certa difuculda em colocar uma text1.text só aceitar numeros e o sinal [Ô],[Ô]
E noutra text2.text aceitar só letras.

Qual é a função?
LLAIA 20/12/2010 23:14:00
#360041
Resposta escolhida
Eu fiz assim. Acho que tem um jeito mais simples mas agora num lembro. Teste aí.


Private Sub Text1_KeyPress(KeyAscii As Integer)

If (KeyAscii < 48 Or KeyAscii > 57) Then
If KeyAscii <> 44 Then
If KeyAscii <> 8 Then KeyAscii = 0
End If
End If

End Sub


Private Sub Text2_KeyPress(KeyAscii As Integer)

If KeyAscii < 65 Or KeyAscii > 90 Then
If KeyAscii < 97 Or KeyAscii > 122 Then
If KeyAscii <> 8 Then KeyAscii = 0
End If
End If

End Sub
FNANDOOD 21/12/2010 01:07:24
#360042
Tenta assim:

Function Sonumero(key As Integer) As String
Const numeros$ = [Ô]0123456789[Ô]
Sonumero = key
If key <> 8 And key <> 13 Then
If InStr(numeros$, Chr(key)) = 0 Then
Sonumero = 0
End If
End If
End Function


Private Sub txt1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Or KeyAscii = 9 Then KeyAscii = 0
KeyAscii = Sonumero(KeyAscii)
End Sub
DAVID.SP 21/12/2010 01:53:43
#360043
Cara,

Eu faço assim:

If IsNumeric(SEU TEXT) = False Then
MsgBox [Ô]Digite apenas números![Ô], vbOKOnly + vbCritical, [Ô]ERRO[Ô]
endif
SERGIOPASCOAL 21/12/2010 08:01:28
#360045
eu uso as funções iguais do LLAIA e do FNANDOOD, mas complemento com a função do DAVI, pois se vc fizer um CTRL+V nos texts com letras e tb aceita, então eu recomendo mesmo usar um mask, falow!
MARCELO.TREZE 21/12/2010 10:15:40
#360056
coloque este código no evento Keypress do seu Text :

[ô]Ascii 48 a 57 são numeros
[ô]Ascii 8 é o backspace
[ô]Ascii 44 é a vírgula

Select Case KeyAscii
Case 48 To 57, 8, 44
Case Else
KeyAscii = 0
End Select
MSMJUDAS 21/12/2010 11:16:24
#360061
Em um módulo coloque essa function:

Public Function VerificaValor(vTecla As Integer) As Integer
[ô]Função para permitir apenas a digitação de valores
Select Case vTecla
Case 8, 44, 48 To 57
VerificaValor = vTecla
Case 46
VerificaValor = 44
Case Else
VerificaValor = 0
End Select
End Function

No evento KeyPress do TextBox coloque assim:

KeyAscii = VerificaValor(KeyAscii)

Só aceita números e virgulas
Tópico encerrado , respostas não são mais permitidas