TextBox para solo números y introducción de 3 caracteres
En un TextBox para solo números y que me acepte solamente 3 caracteres, el
código siguiente es lo que tengo
Private Sub txtcli3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If Not (KeyAscii >= 48 And KeyAscii <= 57) Then KeyAscii = 0 '<--- El KeyAscii = 0 es para borrar la tecla presionada equivocadamente MsgBox "Ingrese SOLO números, en el campo, el guion entra automático", vbOKOnly + vbInformation, Title:="CARÁCTER NULO" End If If Len(Me.txtcli3) = 12 Then KeyAscii = 0 If Len(Me.txtcli3) = 12 Then MsgBox "LLego al máximo posible de caracteres": Exit Sub 'Guion Select Case Len(txtcli3) Case 2, 11 txtcli3.Text = txtcli3.Text & "-" End Select End Sub
Quiero agregarle estas lineas para que me permita insertar estos caracteres V, E y J
vl = VBA.Left(VBA.UCase(TextBox2), 1) 'SOLO Letras que estan en el codigo. V, E y J If VBA.Len(TextBox2) = 1 And VBA.UCase(vl) <> "V" And VBA.UCase(vl) <> "E" And _ VBA.UCase(vl) <> "J" Then MsgBox "No permitido": TextBox2 = ""
inserto letra, auto-guion, sigo con 8 números y luego otro guion y termina con otro numero. Total de 12 caracteres en conjunto.
Lo hice de esta foma:
Private Sub txtcli3_Change() vl = VBA.Left(VBA.UCase(txtcli3), 1) 'SOLO Letras que estan en el codigo. V, E y J If VBA.Len(txtcli3) = 1 And VBA.UCase(vl) <> "V" And VBA.UCase(vl) <> "E" And _ VBA.UCase(vl) <> "J" Then MsgBox "No permitido": txtcli3 = "" If Len(Me.txtcli3) = 12 Then KeyAscii = 0 If Len(Me.txtcli3) = 12 Then MsgBox "LLego al maximo posible de caracteres": Exit Sub 'Guion Select Case Len(txtcli3) Case 4 Txtcli3.Text = txtcli3.Text & "-" End Select End Sub
Como dice en una parte de mi mensaje, SOLO 12 en total
El deseo es este E-12345678-9 (letra en mayúscula este o no el BloqMayus activado
para ello) pero no me dá el resultado ni mensajes que espero
Quiero que si introduzco una letra que no sea alguna E, V o J en el inicio, que me diga "Carácter No permitido" y no deje el carácter equivocado insertado pero, que no me vacíe el TextBox.
Si después del 1º guion, introduzco ALGUNA letra (que no sea número y el último guion) que me diga "no es número" y no deje el carácter erróneo insertado pero, que no me vacíe el TextBox.
Al final de 12 caracteres insertados en conjunto y totales, líneas
If Len(Me.txtcli3) = 12 Then KeyAscii = 0 If Len(Me.txtcli3) = 12 Then MsgBox "Llegó al máximo posible de caracteres": Exit Sub
Si sigo introduciendo lo que sea, me mande el menaje descripto pero,
que no me vacíe el TextBox