Jump to content
  • 34 ¿Te resultaría interesante una carpeta sobre Python para Excelen el foro?

    1. 1. ¿Te resultaría interesante una carpeta sobre Python para Excel en el foro?


      • Sí! Me interesa
      • No me interesa.
      • Otros (Escribe tu respuesta en el tema)

permitir solo ciertos caracteres en textbox


Recommended Posts

Buen dia expertos recurro a ustedes con esta consulta que espero no les quite mucho de su valioso tiempo y en espera me puedan ayudar, y es que requiero que un textbox acepte solo caracteres que yo quiera como en este caso requiero el textbox solo acepte letras mayusculas y minusculas, y los caracteres exceptuados son el guion bajo, el espacio y los dos puntos ":" y tengo el siguiente codigo pero no logro adecuarlo

Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
' osea Esto es para que el Textbox1 solo acepte números
'    If KeyAscii < 48 Or KeyAscii > 57 Then
'        KeyAscii = 0
'    End If

' del 32 al 126 son caracteres imprimibles

  ' Esto es para que el Textbox1 solo acepte letras
' las letras son del 65 al 90 en mayusculas
' las letras son del 97 al 122 en minusculas

  ' osea el 32 es el espacio, el guion bajo es el 95

If Not (KeyAscii >= 65 And KeyAscii <= 90 Or KeyAscii >= 97 And KeyAscii <= 122 Or KeyAscii = 32 Or KeyAscii = 95) Then
KeyAscii = 0
End If


End Sub

pero no se porque no me funciona, si alguien me puede ayudar se lo agradeceria muchisimo

Link to comment
Share on other sites

Prueba y comenta 

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

  Select Case KeyAscii
    Case 32
    Case 58
    Case 65 To 90
    Case 95
    Case 97 To 122: Case Else: KeyAscii = 0
  End Select

End Sub

 

Link to comment
Share on other sites

Y con tu código prueba y comenta

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    
    If Not (KeyAscii >= 65 And KeyAscii <= 90 Or KeyAscii >= 97 And KeyAscii <= 122 _
                        Or KeyAscii = 32 Or KeyAscii = 95 Or KeyAscii = 58) Then
                        KeyAscii = 0
    End If
End Sub

 

Link to comment
Share on other sites

  • 4 weeks later...

A mi me gusta mucho que muestro a continuación porque yo le digo en el evento KeyPress cuales son los que deseo que se digiten y me evito muchos inconvenientes.

    If InStr("0123456789" & Chr(8), Chr(KeyAscii)) = 0 Then KeyAscii = 0

Luego puedes incluir otros caracteres o símbolos que desees incluir y listo

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Privacy Policy