Duda text box!

Hola, aquí molestando de nuevo, ya tengo el textbox que me captura los datos y los busca, pero no me los valida como yo quiero, pues supuestamente solo deben admitir números, pero ingreso un numero y después una letra y lo acepta, cosa que en teoría no debería de hacer. Te anexo el código que estoy utilizando:
Private Sub TextBox1_Change()
If KeyAscii = 13 Then 'valida que se escriban exclusivamente numeros y ningun otro caracter
KeyAscii = 0
otro_objeto.SetFocus
Else
If (UCase(Chr(KeyAscii)) Like "[!0-9]") Then
KeyAscii = 0
End If
If Len(TextBox1.Value) > 4 Then ' valida que no se escriban cadenas de numeros no mayores a 4
MsgBox "SOLO 4 DIGITOS", , "ERROR!!!!!"
TextBox1 = Empty
End If
End If
End Sub

1 respuesta

Respuesta
1
Borra la anterior respuesta esta en la correcta
Private Sub TextBox1_Change()
    letra = Right(TextBox1.Text, 1)
    If (letra <> "") Then
        If Not (Asc(letra) >= 44 And Asc(letra) <= 57) Then 'He cambiado el 48 por el 44 para coger el - de los negativos el "." y la "," para los decimales
            If (Len(TextBox1.Text) = 1) Then
                TextBox1.Text = ""
            Else
                TextBox1.Text = Left(TextBox1.Text, Len(TextBox1.Text) - 1)
            End If
        End If
    End If
    If Len(TextBox1.Value) > 4 Then ' valida que no se escriban cadenas de numeros no mayores a 4
        MsgBox "SOLO 4 DIGITOS", , "ERROR!!!!!"
        TextBox1.Text = Left(TextBox1.Text, Len(TextBox1.Text) - 1)
        'TextBox1 = Empty
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas