Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/09/2008, 20:04
Avatar de culd
culd
 
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 21 años, 6 meses
Puntos: 19
Respuesta: Ayuda! Funcion para Validar Si es Numerico

Ahi te arme una funcion que verifica cada caracter (ascii) ingresado si corresponde a un numero (agrego el punto decimal y la tecla backspace)

En vez de usar change, usas KeyPress para verificar cada ascii... Si no es un numero aparece el mensaje de alerta, y elimina ese keypress


Código:
Public Function EsNumero(KeyAscii As Integer) As Boolean
'Agrego el "." decimal (lo podes cambiar por "," si usas ese...
'Y agrego el Ascii "8" que es la tecla BORRAR
Select Case KeyAscii
    Case Asc("0"), Asc("1"), Asc("2"), Asc("3"), Asc("4"), Asc("5"), Asc("6") & _
    Asc("7"), Asc("8"), Asc("9"), Asc("."), 8
        EsNumero = True
    Case Else
        EsNumero = False
End Select
End Function

Private Sub Text1_KeyPress(KeyAscii As Integer)
If EsNumero(KeyAscii) = False Then
    MsgBox "Este es el mensaje de alerta", vbCritical
    KeyAscii = 0    'no escribo el caracter
End If
End Sub