He puesto en un formulario un textbox limitado a 650 caracteres. Mi idea es poner un contador de caracteres restantes para saber cuándo se va a llegar al límite. Aporto la solución que he encontrado a ello:
Crear el textbox donde escribiremos, ej. Textbox1
Configurar MaxLength del TextBox1 (.MaxLength=650 en un WITH, o desde el menú de la izquierda) (650 es mi límite, cada uno pone el que quiera; no recomiendo 0)
Crear un textbox que nos hará de contador ej. TBContador
Configurar TBContadorsin texto (.Text="" en un WITH, o desde el menú de la izquieda), con color de fondo"Cara de botón" (H8000000F) y SpecialEffects ponerlo a Flat (yo lo hago desde el menú de la izquierda). Así el contador es "transparente" sobre el gris del userform. Tamaño, posición, fuente... al gusto. Que se vea el número más largo posible para que quepa todo el texto (ver código).
Y poner esto en el userform:
Private Sub TBContador_Change()
With TBContador
.Text = 650 - UserForm1.TextBox1.TextLength
End With
End Sub
Private Sub textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
UserForm1.TBContador.Text = "Caracteres restantes: " & 650 - UserForm1.TextBox1.TextLength
End Sub[/CODE]
Tengo ambos subs por si las moscas.
Tal como está, si no hay nada escrito en el textbox1 de primeras, el contador no se ve (no aparece un 650). Quería intentarlo con una etiqueta, pero ya no he podido. Aconsejo también poner enabled=false en el cuadro de texto contador, para que no pueda seleccionarse, y que el ratón no cambie al señalar el lugar donde está.
Espero que os sea de utilidad. Puede mejorarse, es sólo una base.
Un saludo.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
No es gran cosa, pero ahí lo dejo.
He puesto en un formulario un textbox limitado a 650 caracteres. Mi idea es poner un contador de caracteres restantes para saber cuándo se va a llegar al límite. Aporto la solución que he encontrado a ello:
Crear el textbox donde escribiremos, ej. Textbox1
Configurar MaxLength del TextBox1 (.MaxLength=650 en un WITH, o desde el menú de la izquierda) (650 es mi límite, cada uno pone el que quiera; no recomiendo 0)
Crear un textbox que nos hará de contador ej. TBContador
Configurar TBContador sin texto (.Text="" en un WITH, o desde el menú de la izquieda), con color de fondo "Cara de botón" (H8000000F) y SpecialEffects ponerlo a Flat (yo lo hago desde el menú de la izquierda). Así el contador es "transparente" sobre el gris del userform. Tamaño, posición, fuente... al gusto. Que se vea el número más largo posible para que quepa todo el texto (ver código).
Y poner esto en el userform:
Tengo ambos subs por si las moscas.
Tal como está, si no hay nada escrito en el textbox1 de primeras, el contador no se ve (no aparece un 650). Quería intentarlo con una etiqueta, pero ya no he podido. Aconsejo también poner enabled=false en el cuadro de texto contador, para que no pueda seleccionarse, y que el ratón no cambie al señalar el lugar donde está.
Espero que os sea de utilidad. Puede mejorarse, es sólo una base.
Un saludo.