Solo numeros
Hola, yo de vuelta.Quisiera saber como hago para q en un text box me aparezcan solo numeros no letras, ya q estoy haciendo un programa de angulos y si el usuario apreta una tecla, daria un error, desde ya muchas gracias
Hola.
Voy a intentar ayudarte, pero no estoy muy segura. Si no te dan más pistas investiga esto:
Private Sub Text1_Change()
If KeyAscii = Aqui se ponen los numeros que identifican las teclas del teclado Then
Aqui se pone la orden de error
Aqui un messagebox de Error
End If
End Sub
saludos
Sonia
Voy a intentar ayudarte, pero no estoy muy segura. Si no te dan más pistas investiga esto:
Private Sub Text1_Change()
If KeyAscii = Aqui se ponen los numeros que identifican las teclas del teclado Then
Aqui se pone la orden de error
Aqui un messagebox de Error
End If
End Sub
saludos
Sonia
Si lo que pretendes es que sólo se puedan introducir númerosen un textbox:
Créate una función como la siguiente en un modulo .bas de tu proyecto:
Function SoloNumeros(ByVal KeyAscii As Integer) As Integer
' Intercepta un codigo ASCII recibido admitiendo solamente
' caracteres numéricos, además:
' cambia el punto por una coma
' acepta el signo -
' deja pasar sin afectar si recibe tecla de borrado o return
If KeyAscii = Asc(".") Then KeyAscii = Asc(",")
If InStr("0123456789.,-", Chr(KeyAscii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = KeyAscii
End If
' teclas especiales permitidas
If KeyAscii = 8 Then SoloNumeros = KeyAscii ' borrado atras
If KeyAscii = 13 Then SoloNumeros = KeyAscii ' return
End Function
Ahora en el evento KeyPres de cada textbox en el que desees que actue esta accion:
Private Sub Tu_Text_Box_KeyPress(KeyAscii As Integer)
Keyascii = solonumeros(Keyascii)
End Sub
Por supuesto esto lo he sacado de algún lado. No es mio.
Si pretendÃas otra cosa, copia esto, quien sabe, te puede servir en un futuro.
;-)
Créate una función como la siguiente en un modulo .bas de tu proyecto:
Function SoloNumeros(ByVal KeyAscii As Integer) As Integer
' Intercepta un codigo ASCII recibido admitiendo solamente
' caracteres numéricos, además:
' cambia el punto por una coma
' acepta el signo -
' deja pasar sin afectar si recibe tecla de borrado o return
If KeyAscii = Asc(".") Then KeyAscii = Asc(",")
If InStr("0123456789.,-", Chr(KeyAscii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = KeyAscii
End If
' teclas especiales permitidas
If KeyAscii = 8 Then SoloNumeros = KeyAscii ' borrado atras
If KeyAscii = 13 Then SoloNumeros = KeyAscii ' return
End Function
Ahora en el evento KeyPres de cada textbox en el que desees que actue esta accion:
Private Sub Tu_Text_Box_KeyPress(KeyAscii As Integer)
Keyascii = solonumeros(Keyascii)
End Sub
Por supuesto esto lo he sacado de algún lado. No es mio.
Si pretendÃas otra cosa, copia esto, quien sabe, te puede servir en un futuro.
;-)
'Este modulo contiene todas validaciones necesarias para la aplicación
'FUNCION QUE VALIDA SI SE INGRESA UN NUMERO O CARACTER
Public Function validaciones(ByVal KeyAscii As Integer, ByVal operaciones As Boolean) As Integer
If operaciones = True Then
'si operaciones es true significa que ingresa numeros
If ((KeyAscii > 47 And KeyAscii < 58) Or (KeyAscii = 8 Or KeyAscii = 13)) Then
validaciones = KeyAscii
Else
validaciones = 0
End If
Else
If ((KeyAscii < 47 Or KeyAscii > 58) And (KeyAscii <> 8 Or KeyAscii <> 13)) Then
validaciones = KeyAscii
Else
validaciones = 0
End If
End If
End Function
'FUNCION QUE VALIDA SI SE INGRESA UN NUMERO O CARACTER
Public Function validaciones(ByVal KeyAscii As Integer, ByVal operaciones As Boolean) As Integer
If operaciones = True Then
'si operaciones es true significa que ingresa numeros
If ((KeyAscii > 47 And KeyAscii < 58) Or (KeyAscii = 8 Or KeyAscii = 13)) Then
validaciones = KeyAscii
Else
validaciones = 0
End If
Else
If ((KeyAscii < 47 Or KeyAscii > 58) And (KeyAscii <> 8 Or KeyAscii <> 13)) Then
validaciones = KeyAscii
Else
validaciones = 0
End If
End If
End Function
