Saltar al contenido

permitir solo ciertos caracteres en textbox


viejo

Recommended Posts

publicado

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

publicado

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

 

publicado

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

 

publicado

Me alegro, pero no olvides agradecer a quien te ayuda o intenta ayudar, y en este foro es mediante el corazoncito que hay en la parte inferior derecha, un saludo

  • 4 weeks later...
publicado

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

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.