Cuadro de Texto (TextBox) en Formularios VBA Excel

El control TextBox VBA para Excel es una herramienta multipropósito se utilizan normalmente para mostrar información o permitir a los usuarios ingresar datos. Los usuarios pueden editar contenido.

Insertar Control de Cuadro de Texto (TextBox) en Formulario

Haz clic en la pestaña «Insertar» y selecciona «UserForm». Busca y selecciona «Control de Cuadro de Texto (TextBox)» en la lista de controles del Cuadro de Herramientas.

Propiedades

Las propiedades más importantes de los cuadros de texto son:

  • Name: nos permite especificar el nombre con el que nos referiremos al cuadro de texto del código. Por defecto, se llama TextBox1.
  • Text: esta propiedad controla el contenido que se muestra en el cuadro de texto. Se puede configurar de tres formas diferentes. En tiempo de diseño desde la ventana Propiedades. En tiempo de ejecución usando código como: txt_mensaje.Text = «Ingresa tus datos aquí.» Finalmente, utilizando texto escrito por el usuario en tiempo de ejecución. El contenido se puede recuperar leyendo la propiedad de texto en tiempo de ejecución.
  • Font: esta propiedad establece la fuente, el estilo y el tamaño del texto contenido en el control.
  • Enabled: Verdadero o Falso dependiendo de si el control puede responder a eventos generados por el usuario. Usamos esta propiedad para habilitar y deshabilitar el control. Si asignamos un valor de False, el usuario no podrá interactuar con el control. Esto significa que el cuadro de texto no responderá al usuario hasta que lo cambiemos a verdadero.

Propiedades del TextBox

Las propiedades más importantes del TextBox son:

  • Name: Identificador del TextBox. Por defecto es TextBox1, pero puedes cambiarlo a algo más descriptivo como txtNombre.
  • Text: Contenido del TextBox. Puede establecerse en tiempo de diseño, tiempo de ejecución, o mediante la entrada del usuario.
  • Font: Establece la fuente, el estilo y el tamaño del texto.
  • Enabled: Determina si el TextBox está habilitado para la interacción del usuario.
  • Locked: Controla si el contenido del TextBox puede ser editado.
  • MaxLength: Número máximo de caracteres que el usuario puede ingresar.
  • ScrollBars: Permite agregar barras de desplazamiento si el contenido es mayor que el área visible.
  • MultiLine: Permite que el TextBox acepte múltiples líneas de texto.
  • PasswordChar: Caracter para ocultar la entrada del usuario, útil para contraseñas.

3. Ejemplo Práctico: Configurar y Usar un TextBox

Inserción y Configuración

  1. Nombre y Apellido:
    • Añade dos Label y dos TextBox al UserForm.
    • Cambia el Name del primer TextBox a txtNombre y del segundo a txtApellido.

Configuración de Propiedades en Tiempo de Diseño

  • Name: Cambia TextBox1 a txtNombre y TextBox2 a txtApellido.
  • Text: Puedes establecer un texto predeterminado, aunque generalmente se deja vacío para la entrada del usuario.
  • Font: Cambia la fuente si es necesario.
  • Enabled: Si quieres que el TextBox esté deshabilitado inicialmente, establece Enabled en False.
  • Locked: Si quieres que el contenido no sea editable, establece Locked en True.
  • MaxLength: Si solo deseas permitir hasta 50 caracteres, establece MaxLength en 50.
  • ScrollBars: Si esperas texto largo, establece ScrollBars en fmScrollBarsVertical para una barra de desplazamiento vertical.
  • MultiLine: Para permitir múltiples líneas de texto, establece MultiLine en True.
  • PasswordChar: Para ocultar la entrada (por ejemplo, contraseñas), establece PasswordChar en *.

Código para Manipular el TextBox en Tiempo de Ejecución

Private Sub UserForm_Initialize()
    ' Inicializa el TextBox con un mensaje
    txtNombre.Text = "Ingresa tu nombre aquí."
    txtApellido.Text = "Ingresa tu apellido aquí."
    
    ' Configurar otras propiedades en tiempo de ejecución
    txtNombre.Font.Size = 12
    txtNombre.Font.Bold = True
    txtApellido.MaxLength = 50
End Sub

Private Sub btnInsertar_Click()
    Dim lastRow As Long
    Dim ws As Worksheet
    
    ' Set the worksheet where data will be inserted
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' Find the last row with data in column A
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
    
    ' Insert the data from the UserForm into the worksheet
    ws.Cells(lastRow, 1).Value = txtNombre.Text
    ws.Cells(lastRow, 2).Value = txtApellido.Text
End Sub

4. Agregar Eventos al TextBox

Para manejar eventos del TextBox, como cuando el usuario cambia el texto, puedes usar el siguiente código:

Private Sub txtNombre_Change()
    ' Evento que se dispara cuando el contenido del TextBox cambia
    If Len(txtNombre.Text) > 0 Then
        txtNombre.BackColor = vbWhite
    Else
        txtNombre.BackColor = vbYellow
    End If
End Sub

Resumen de Propiedades

  1. Text: Controla el contenido.
  2. Font: Establece la apariencia del texto.
  3. Locked: Impide la edición si es True.
  4. MaxLength: Limita el número de caracteres.
  5. ScrollBars: Agrega barras de desplazamiento.
  6. MultiLine: Permite múltiples líneas de texto.
  7. PasswordChar: Oculta la entrada del usuario.

Conoce otros controles para nuestros formularios:

Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *