Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Propiedades y eventos del Textbox

| 21 comentarios

Definición:

Dibujo16 Propiedades y eventos del Textbox

Es un control sumamente básico en VBA (Macros de Excel), usado para mostrar o editar textos, pero con la particularidad de no tener formato. Permite realizar entrada y/o la salida de datos en nuestras aplicaciones; presenta el texto en una forma determinada cuyo contenido podemos cambiarlo durante la constitución del proyecto.

Reconocido como elemento típico en las interfaces gráficas en donde es posible insertar textos, los cuales suelen ser rectangulares, vacios de textos y con fondo blanco, con el objetivo de poder escribir sobre estos.

Suelen utilizarse en: formularios, herramientas y aplicaciones, donde se muestra textos editables (entrada de datos “input”) las cuales tienen barras de desplazamiento para que el usuario pueda moverse dentro del texto, no pudiendo salir de estos ya que cuenta con componentes encapsuladores.

Propiedades:

Cuando estemos editando un TextBox y queremos las propiedades de esta, solo pulsemos (botón derecho y con esto obtenemos el menú contextual, luego seleccionar propiedades; con esta acción obtendremos el cuadro de propiedades del TextBox y desde aquí podemos editar sus generalidades. A continuación presentaremos las propiedades más resaltantes:

TEXT: en esta propiedad se indica el texto que aparecerá en el control (en el TextBox). El usuario puede introducir cualquier texto el cual es tratado durante la ejecución.

NAME: propiedad importante que ya viene con un nombre por defecto (Text1), este nombre controla al TextBox cuando se utilice en la arquitectura del VBA (código). Dato importante es que en un mismo formulario no puede haber 2 controles con el mismo nombre.

MULTILINE: Para que funcione esta propiedad debe estar con el valor true. Nos permite como su nombre lo dice, trabajar con varias líneas de texto en el TextBox.

TEXTALIGN: su importancia radica en que nos permite alinear el texto del control (TextBox) en la izquierda, centro o derecha.

LOCKED: sirve para bloquear el control (TextBox), es decir si esta activada con valor “true”, entonces  se bloquea el control automática no permitiendo introducir ni modificar el texto que contenga.

BACKCOLOR: nos indica el color de fondo.

FORECOLOR: nos indica el color de letra.

FONT: manifiesta el tipo y tamaño de letra.

Eventos (TextBox):

Son todas las acciones que se pueden realizar con el TextBox: click, doble click, movimiento del mouse. Estas acciones se les pueden relacionar o asociar códigos para que se ejecute al producir el evento.

MOUSEMOVE: se mueve el mouse por encima del TextBox.

MOUSEDOWN: se ejecuta al pulsar cualquier botón del mouse.

CHANGE: se ejecuta al cambiar el contenido del TextBox.

CLICK: se ejecuta al hacer click con el botón izquierdo del mouse sobre el TextBox.

DBLCLICK: se ejecuta al hacer doble click con él con el botón izquierdo del mouse sobre el TextBox.

Ejemplo para editar un TextBox

Una de las tantas formas de rellenar el cuadro de texto es ejecutar los siguientes pasos:

  • Hacer clic en el botón de comando (insertar).
  • Hacer clic secundario (Ver código).
  • En VBA (Macros/Excel), Agregue la línea siguiente código:
  • TextBox1.Text = "Ejemplo para PUCP"
  • El resultado será el siguiente::

52 300x234 Propiedades y eventos del Textbox

(Para mayor visualización de la imagen, hacer click en la misma)

 

Elaborado por: VICTOR VILCA SALVATIERRA

21 comentarios

  1. Buen Día.
    He creado un UserForm para consulta de información de una tabla de Excel ingresando el Número de Folio a consultar.
    Al momento de capturar el folio y hacer click en el Botón Consulta me arroja los datos de los demás campos en los TextBox designados para tal efecto.
    Funciona, sin embargo hay campos que necesito que se visualicen en el TextBox con cierto Formato y no encuentro como.
    Campo Importe, me muestra 476,16 y debe aparecer como $ 476.16
    Campo Fecha, me muestra 42011 y debe aparecer 07/01/2015

    Ya intente con la siguiente instrucción y no funciona

    With Me.txt_ImpFact
    .Value = Format(.Value, "$#,##0.00")
    End With

    Saludos

    • Format(TextBox3, "mm/dd/yyyy")

  2. Tengo un USERFORM que contiene TEXTBOX con valores numéricos los cuales son tomados de una de las hojas del libro, solo que en el USERFORM me aparecen con "," en lugar de ".", es decir , me aparece 47,7 en lugar de 47.7. Alguien sabe porqué ????

    • Intentaste con la configuración de región del Windows ????

      en las celdas de Excel sale igual con "," ??

  3. Como puedo crear en tiempo de ejecución un textbox al apretar un botón de comando, El textbox aceptaría datos hasta que volviera a apretar el botón de comando, desaparecería del formulario, y esos datos pasarlos a una hoja de cálculo
    Gracias

  4. hola, tengo un formulario en el cual inserte dos checkbox, (para si y no)
    y quiero que el textxbox este bloqueado mientras no se haya seleccionado el checkbox si, o si que este bloqueado si esta seleccionado el checkbox no, como puedo hacerlo???

    • Private Sub CheckBox1_Click()
      If CheckBox1.Value = True Then
      CheckBox2.Enabled = True
      Else
      CheckBox2.Enabled = False
      End If
      End Sub

  5. hola si quisiera que en la captura del textbox se fijen ciertos caracteres como en una fecha 5 "/" 2 "/" 20. los slash quiero que se mantengan

  6. Buenas, como hago para que un textbox que mediante un boton que ingresa el valor a una celda, le agregue el formato centrado a dicha celda? Saludos !

  7. Buenas tardes, como puedo eliminar un "Text Box" que se repite una y otra vez en una hoja de Excel y hace que el archivo sea demasiado pesado y muy lento al momento de guardar o abrir el archivo...
    Espero que alguien pueda ayudarme con esto...

    Gracias

  8. Format(TextBox3, "mm/dd/yyyy")

  9. Hola, ¿Existe algún evento o procedimiento de los textbox que ejecuten algún procedimiento al tener el foco sobre el textbox??? Es decir, al recibir el foco un textbox realizar un procedimiento (como cambiar la propiedad caption de una etiqueta, así puedo poner un comentario distinto dependiendo de en qué textbox está el foco) Gracias.

  10. Hola Buena tardes
    Existe alguna manera de hacer:
    Ej: Si ingreso en numero de corte en un textbox automaticamente me aparezcan todas la tallas de ese numero de corte Ademas que para cada talla un textbox

  11. necesito que en el txt box se vayan generando números de folio continuos, A0001, A002, pero que los genere automáticamente y no se pueda modificar.

  12. Hola.

    Tengo una macro que me guarda el archivo excel en PDF, el titulo de PDF lo configuro en la macro que traiga valores del excel, mas sin embargo, me gustaria traer el valor de un "textBox" que tengo en la hoja de excel, pero no encuentro la manera. Este es el codigo que tengo actualmente.

    Dim nombre As String
    Dim ruta As String
    nombre = ActiveSheet.Name
    ruta = "File" & Range("xx") & Format("TextBox1")
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ruta, quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, openafterpublish:=False
    End Sub

  13. en un formulario que me sirve de interfaz y que tengo mas de 10 texbox que debo ponerles de números con miles y fechas, solo me permite ingresar a dos a tres cuadros en el resto no se produce ningún efecto,efecto ya he usado diferentes formas y ninguna funciona y al sumarlos en otro textbox no se me suman.así por ejemplo:
    si sumo en el textbox mas de 10 importes por ejemplo textbox1 +textbox2+textbox3+textbox4 me da como resultado 10302040e,tc., son los importes ingresados en cada textbox. Que debo hacer

  14. en un formulario que me sirve de interfaz y que tengo mas de 10 texbox que debo ponerles de FORMATO DE números con miles y decimales solo me permite ingresar a dos a tres cuadros en el resto no se produce ningún efecto,efecto ya he usado diferentes formas y ninguna funciona y al sumarlos en otro textbox no se me suman.así por ejemplo:
    si sumo en el textbox mas de 10 importes por ejemplo textbox1 +textbox2+textbox3+textbox4 me da como resultado 10302040e,tc., son los importes ingresados en cada textbox. Que debo hacer

  15. Buen día, una pregunta: ¿porqué razón para el cuadro de texto de controlActiveX no se dispone del evento AfterUpdate?

  16. Me gustaría saber cómo cerrar un userform sin perder los datos guardados en los textbox existentes. Lo tengo hecho en visual básic 6, pero con código VBA no soy capaz de hacerlo. Muchas gracias

    • Hola, debes definir tanta variables cuantos TextBox haya y asignarle a las variables, una a una, el valor de los TextBox.

      Cuando vuelvas requerir uno de los valores, harás referencia no al TextBox sino a la variable que contenga ese valor.

      • Perdona. Estuve fuera y desconectado. Soy autodidacta en estos temas, podrías hacer un ejemplo? Perdona mi ignorancia.

Deja una respuesta

Los campos requeridos estan marcados con *.