Saltar al contenido

TextBox restringida para ingresar 3 mayusculas y 3 números


Recommended Posts

publicado

Hola a todos!!! Les comento, tengo un formulario que tiene varias TextBox y un Botón de Comandos para insertar datos en una hoja. Lo que necesito es que una de las TextBox solo admita ingresar los datos de la siguiente manera:

1- Sólo se puedan ingresar 6 caracteres.

2- Los primeros 3 caracteres sólo puedan ser letras mayúsculas.

3- Los últimos 3 caracteres sólo puedan ser números.

He buscado en el foro y he encontrado como hacer que admita sólo números, también para limitar el número de caracteres, o para que se ingresen sólo mayúsculas, pero no he encontrado cómo hacer una combinación de los 3 para un solo TextBox, como en mi caso. No se si es posible, pero desde ya les agradezco su tiempo!!! Saludos.-

publicado

Gracias Armando Montes. No la he probado aún, pero si funciona para 4 caracteres no sería complicado extenderla para 6. Ya me pondré con eso. Te agradezco tu tiempo. Saludos!

publicado

Hola, debe ser asi:

=AND(LEN(A1)=6,EXACT(A1,UPPER(A1)),ISNUMBER(VALUE(RIGHT(A1,3))))

En castellano:

=Y(LEN(A1)=6,IGUAL(A1,MAYUSCULA(A1)),ESNUMERO(VALOR(DERECHA(A1,3))))

Tal vez debas cambiar las comas por punto y coma.

  • 3 weeks later...
publicado

Hola de nuevo, y perdón si entendí mal tu respuesta. Yo lo que necesito es un código en VBA que valide 3 mayúsculas seguidas de 3 números. Es decir, si lo ingresado en el textbox no es algo como "AGX123", al quitar el foco del textbox me muestre un msgbox. Disculpa la demora y gracias por tu paciencia. Saludos.-

- - - - - Mensaje combinado - - - - -

Bueno, encontré la solución. En este caso, no permite ingresar nada que no sean mayúsculas en los primeros 3 caracteres, y nada que no sean números el los últimos 3. Les comparto el código y gracias de todos modos.-

Private Sub TBX_Dominio_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = Asc(StrConv(Chr$(KeyAscii), vbUpperCase)) 'Cambia minusculas por mayusculas
If TBX_Dominio.TextLength <= 2 Then
Select Case KeyAscii
Case 65 To 90 ' Mayusculas
Case 8 ' Permite el carácter de retroceso
Case Else
KeyAscii = 0
End Select
Else
Select Case KeyAscii
Case 48 To 57 ' Permite los dígitos
Case 8 ' Permite el carácter de retroceso
Case Else
KeyAscii = 0
End Select
End If
End Sub


[/CODE]

PD: Ademas de esto se debe limitar la cantidad de caracteres del Textbox con la propiedad MaxLength = 6

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.