Cómo hacer para que un textBox deje ingresar más de un dígito

Tengo éste código elaborado con gran ayuda de Elsa Matilde, originalmente era para que los niños aprendan las vocales, pero ahora quierop adaptarlo a números.
El problema es el checkbox que no deja ingresar más de un dígito.

¿Cómo puedo solucionarlo?

2 Respuestas

Respuesta
1

Revisa en el código del checkbox, si tiene el valor textbox.maxlength = 1, aumentale El valor. Para entenderlo mejor habría que ver el código completo. 

Mil disculpas, quise poner textBox, este es el código que tengo escrito

Private Sub UserForm_Initialize()

TextBox1.SetFocus


End Sub
Private Sub TextBox1_change()
'x Elsamatilde
'si el control queda vacío no se ejecuta
If TextBox1 = "" Then Exit Sub
'carpeta donde estarán los videos
ruta = "C:\Users\LOSBOA\Desktop\Ideas y Proyectos\Sistema Bienvenida\videos\"
'las letras pueden ingresarse en mayúsc o minúsc

Select Case UCase(TextBox1)

Case Is = "1" '<--- siempre en mayusculas
WindowsMediaPlayer1.URL = ruta & "1.mp4"
Case Is = "10"
WindowsMediaPlayer1.URL = ruta & "10.mp4"

Case Is = "100"
WindowsMediaPlayer1.URL = ruta & "100.mp4"

Case Is = "1000"
WindowsMediaPlayer1.URL = ruta & "1000.mp4"

End Select

'limpiar el control textbox para ingresar nueva letra
TextBox1 = ""

TextBox1.SetFocus
End Sub

Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)

End Sub

Revisa en las propiedades del textbox1 como en la imagen

o hazlo como dijo James Bond en el código que proporcionó

Private Sub UserForm_Initialize()
TextBox1.MaxLength = 0
End Sub

En el cuadro de propiedades ya está en 0, pero igualmente no me deja tiperar más de 1 dígito. Lo asocio a que al ingresar el primer dígito ya está detectando un procedimiento Change.
Lo he ingresado en el código como dijo James Bond, pero igualmente no pasa del primer dígito y ya reacciona al evento.

Mándame tu archivo o parte de el a mi correo [email protected] 

Gracias Ahrens Ruano! ya te lo he enviado. Lo mismo me sucede al querer reproducir los videos en pantalla completa...

Víctor Hugo en el código borra estas líneas.

'limpiar el control textbox para ingresar nueva letra
TextBox1 = ""

Ahí va queriendo, pero chequea la info trs cada pulsación. La idea es que deje ingresar el número completo "1000" por ejemplo, y al darle enter, verifique si coincide con alguna línea If
---


Private Sub UserForm_Initialize()

TextBox1.SetFocus

TextBox1.MaxLength = 0

End Sub


Private Sub TextBox1_change()
'x Elsamatilde
'si el control queda vacío no se ejecuta
If TextBox1 = "" Then Exit Sub
'carpeta donde estarán los videos
ruta = "C:\Users\LOSBOA\Desktop\Ideas y Proyectos\Sistema Bienvenida\videos\"
'las letras pueden ingresarse en mayúsc o minúsc

Select Case UCase(TextBox1)

Case Is = "1" '<--- siempre en mayusculas
'WindowsMediaPlayer1.URL = ruta & "a.mp4"


Case Is = "10"
WindowsMediaPlayer1.URL = ruta & "e.mp4"


Case Is = "100"
WindowsMediaPlayer1.URL = ruta & "i.mp4"

Case Is = "1000"
WindowsMediaPlayer1.URL = ruta & "o.mp4"

Case Is = "10000"
WindowsMediaPlayer1.URL = ruta & "u.mp4"

End Select


TextBox1.SetFocus
End Sub

Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)

End Sub

¿Bueno y si pones el código en el evento Exit o AfterUpdate del textbox?

Lo he probado y mejora, pero no logro el resultado esperado.

Víctor ya te envié el archivo a tu correo.

Pruébalo y comentas.

Buenas noches Ahrens! Ante todo muchas gracias nuevamente.
He tenido que hacer unas modificaciones para que se adapte bien a los valores que quiero manejar (10, 100, 1000, 10000, etc) ya que el máximo era 5, y ya lo he logrado.
Sólo me faltaría lograr que se reproduzcan en pantalla completa.mmmmm

Víctor

Aunque la pregunta inicial no era esa, acá te dejo el código para la pantalla completa:

Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)
On Error Resume Next
WindowsMediaPlayer1.fullScreen = True
End Sub
Respuesta

¿El checkbox?, quisiste decir el textbox, en el textbox la propiedad para delimitar caracteres se anula como se ve abajo, la cantidad es el numero de caracteres que va a permitiral poner 0 quitas esa restricción, en el checkbox no hay esa propiedad, tendrías que subir el código para ver que necesitas realmente.

Private Sub UserForm_Initialize()
TextBox1.MaxLength = 0
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas