Los UserForms en VBA se utilizan para recibir información del usuario y, a veces, para mostrar salidas y mensajes. Aprenda los conceptos básicos del formulario de usuario link: / applications-word-outlook-in-vba-Getting-started-with-excel-vba-userforms [aquí].

Los formularios de usuario pueden tener componentes múltiples y diferentes para las entradas.

Estos componentes se denominan Controles de UserForm.

Hay varios tipos de controles de formulario de usuario, cada uno con propiedades diferentes y se utiliza por diferentes razones. Es útil saber cómo y cuándo utilizar cada tipo de control de formulario de usuario. En este artículo, aprenderemos cómo usar UserForm Control en Excel VBA.

Tipos de controles de UserForms

Hay demasiados controles de formulario de usuario en VBA. Si los cubrimos En este artículo, nos centraremos solo en los controles de formulario principales.

1: Etiquetas

2: TextBox

3: ComboBox

4: ListBox

5: CheckBox

6: OptionButton

7: ToggleButton

8: CommandButton

9: Marcos

Echemos un vistazo a todos estos controles.

Etiquetas:

Las etiquetas se utilizan para mostrar simplemente etiquetas de texto. Como una etiqueta para un área de entrada, una advertencia, una dirección, etc.

image

Para agregar una etiqueta al formulario de usuario, simplemente seleccione la opción Etiqueta (icono A) de ToolBox. El cursor se convertirá en un signo más. Arrastre al área donde desea colocar las etiquetas.

Cuadro de texto:

Un cuadro de texto es una opción básica de entrada abierta del usuario. El usuario puede simplemente escribir las entradas que quiere dar. El escenario básico son las entradas de nombre.

image

Si desea mostrar algún mensaje cuando el mouse pasa por encima del cuadro de texto, escríbalo en ControlTipText en la ventana de propiedades.

image

ComboBox:

Los cuadros combinados se utilizan para mostrar una lista de elementos cuando se hace clic en ellos. El usuario puede seleccionar fácilmente cualquiera de los elementos mostrados de esa lista o escribir la entrada por sí mismo.

Usamos ComboBox en Excel VBA cuando tenemos una lista opcional para que el usuario seleccione. Los usuarios pueden seleccionar de la lista o escribir su respuesta manualmente.

image

Seleccione el cuadro combinado de la caja de herramientas y arrastre en el formulario. Insertará un cuadro combinado inmediatamente en el formulario. El nombre predeterminado del cuadro combinado será Combobox1, 2, 3, etc. Puede cambiarlo desde el cuadro de propiedades.

image

¿Cómo insertar elementos en ComboBox?

Entonces ahora ha agregado el cuadro combinado a nuestro formulario. Pero cuando cargamos el formulario de usuario, no muestra nada en el cuadro combinado. Esto se debe a que todavía no hemos agregado ningún elemento al cuadro combinado.

En este ejemplo, quiero agregar elementos al cuadro combinado cuando el formulario de usuario se inicializa (carga). Entonces, usaremos el formulario de usuario incluso «Inicializar».

Haga clic derecho en el formulario de usuario (no en ningún componente) para seleccionar el formulario de usuario completo. Seleccione ver código.

image

Desde link: / events-in-vba-the-events-in-excel-vba [eventos]

, seleccione inicializar.

image

Ahora use la propiedad AddItem de ComboBox Class y agregue tantos elementos como desee.

Private Sub UserForm_Initialize()

ComboBox1.AddItem "2016"

ComboBox1.AddItem "2017"

ComboBox1.AddItem "2018"

ComboBox1.AddItem "2019"

ComboBox1.AddItem "2020"

End Sub

Dado que estamos agregando los elementos en el evento UserForm_Initialize (), todos los elementos se agregarán al cuadro combinado cuando se cargue el formulario de usuario.

image

Recuperando el elemento seleccionado del ComboBox

Para usar el elemento seleccionado del cuadro combinado, simplemente usamos la propiedad de valor de ComboBox.

Private Sub CommandButton1_Click()

MsgBox ComboBox1.Value

End Sub

Aquí mostramos el valor que hemos elegido cuando el usuario hace clic en el botón de comando (llegaremos al evento de clic del botón de comando a continuación).

image

Cuadro de lista

Un ListBox se usa cuando queremos que el usuario seleccione de una lista definida.

¿Suena similar a ComboBox? Sí, un cuadro de lista es muy similar al ComboBox excepto que el usuario no puede escribir su respuesta en el cuadro de lista.

Deben seleccionar solo entre las opciones disponibles.

Para insertar un cuadro de lista en el formulario, selecciónelo en el cuadro de herramientas y colóquelo en el área del formulario.

El nombre predeterminado del cuadro de lista será genéticamente listbox1, 2, 3, etc.

Puede cambiarlo desde el cuadro de propiedades.

image

Al igual que el ComboBox, el cuadro de lista de VBA está inicialmente en blanco. Para inicializarlo, simplemente usamos la propiedad add de la clase listbox.

¿Cómo agregar elementos al cuadro de lista?

A medida que agregamos los elementos a la lista de cuadro combinado en los eventos de inicialización del formulario, agregaremos los elementos del cuadro de lista en el mismo evento. Simplemente edite el evento de inicialización anterior para agregar elementos cuando se cargue el formulario de usuario.

Private Sub UserForm_Initialize()

ComboBox1.AddItem "2016"

ComboBox1.AddItem "2017"

ComboBox1.AddItem "2018"

ComboBox1.AddItem "2019"

ComboBox1.AddItem "2020"

'Adding Item to List

ListBox1.AddItem "Jan"

ListBox1.AddItem "Feb"

ListBox1.AddItem "Mar"

ListBox1.AddItem "Apr"

ListBox1.AddItem "May"

ListBox1.AddItem "Jun"

ListBox1.AddItem "Jul"

ListBox1.AddItem "Aug"

ListBox1.AddItem "Sep"

ListBox1.AddItem "Oct"

ListBox1.AddItem "Nov"

ListBox1.AddItem "Dec"

End Sub

El código anterior agregará los nombres de los meses al cuadro de lista tan pronto como carguemos el formulario.

image

Recuperando el elemento seleccionado del ListBox

Para recuperar el elemento que el usuario ha seleccionado en ListBox usamos la propiedad Value del objeto listbox.

Aquí agregamos el mes seleccionado por el usuario a la entrada dada en el cuadro combinado.

Private Sub CommandButton1_Click()

MsgBox ComboBox1.Value & "-" & ListBox1.Value

End Sub

image

Cuando presionamos el botón de comando, obtenemos los elementos seleccionados que se nos muestran en el msgbox.

image

Control CheckBox VBA

Los CheckBoxes son los controles binarios que se pueden establecer en Verdadero o Falso.

Puede tener varias casillas de verificación y seleccionar más de una casilla de verificación a la vez. Esto se usa básicamente cuando un usuario necesita poder seleccionar más de una opción. Como preguntas de opción múltiple.

Para agregar casillas de verificación al formulario de usuario, simplemente selecciónelo en la caja de herramientas y arrastre en el área del formulario de usuario de VBA.

image

Cuando agrega las casillas de verificación al formulario de usuario, el nombre predeterminado de las casillas de verificación es como checkbox1, checkbox2, etc. Puede cambiar el nombre de las casillas de verificación desde el cuadro de propiedades.

¿Cómo usar las casillas de verificación en el formulario de usuario?

Tan pronto como agregue las casillas de verificación, se podrá hacer clic en ellas. Los usuarios pueden marcarlos o desmarcarlos. Pero, ¿cómo sabemos qué casilla de verificación está seleccionada y cuál no?

Como dije, las casillas de verificación son booleanas. Entonces, si se selecciona una casilla de verificación, su valor es Verdadero; de lo contrario, su valor es Falso.

El código a continuación verifica qué casillas de verificación están seleccionadas y lo muestra en el cuadro Mensaje.

Private Sub CommandButton1_Click()

Dim msg As String

If CheckBox1.Value = True Then

msg = msg & "CheckBox1 is selected"

End If

If CheckBox2.Value = True Then

msg = msg & vbCrLf & "CheckBox2 is selected"

End If

MsgBox msg

End Sub

image

Si desea que el usuario pueda seleccionar solo una opción en el formulario de usuario, utilice los botones de opción.

OptionButton Control VBA

Los botones de opción / radio se utilizan en el formulario de usuario de VBA cuando queremos que el usuario seleccione solo una opción de las opciones disponibles. Como cuando los formularios preguntan género, idioma preferido, grupo de edad, etc.

El botón de radio se puede agregar fácilmente al formulario de usuario seleccionándolo de las herramientas y arrastrándolo en el área del formulario. Arrastre y suelte botones de opción varias veces para varios botones de opción.

image

¿Cómo obtener la selección del botón de opción / radio?

Los botones de opción son binarios. Su valor puede ser Verdadero o Falso.

El botón de radio seleccionado se establecerá en Verdadero y todos los demás se convertirán en falso. Solo un botón de radio a la vez será verdadero en un grupo.

El siguiente código simplemente verifica qué botón de opción está seleccionado y muestra el mensaje en consecuencia.

Private Sub CommandButton1_Click()

Dim gender As String

If OptionButton1.Value = True Then

gender = "Male"

ElseIf OptionButton2.Value = True Then

gender = "female"

Else

gender = "other"

End If

MsgBox gender

End Sub

image

Tenga en cuenta que solo se puede seleccionar un botón de opción en el formulario de usuario en el ejemplo anterior. Pero, ¿qué sucede si desea tener varios grupos de botones de opción? En ese caso, usamos marcos. Y eso nos lleva a…

Marcos en VBA UserForm

Los marcos se utilizan para agrupar objetos de forma de usuario, como casillas de verificación y botones de opción.

Para usar marcos, primero arrastre y suelte ese marco en el área del formulario y luego suelte los otros objetos en ese marco.

image

Puede cambiar el nombre del marco del título en el cuadro de propiedades.

image

Todos los eventos están disponibles para marcos también como otros objetos de formulario de usuario. Pero preferiblemente solo los usamos para agrupar objetos. Puede configurar eventos onclick en fram para cargar información básica de los objetos en él, cuando se hace clic en él.

Botones de alternancia en VBA UserForm

Los botones de alternancia también son objetos binarios que se pueden activar y desactivar. Puede utilizar los botones de alternancia para activar y desactivar algo.

Para agregar un botón de alternancia al formulario de usuario, simplemente selecciónelo de las herramientas y arrástrelo en el área del formulario.

image

El siguiente código se establece en el evento onclick del botón de alternancia. Cambia el color de la celda A1 a azul cuando se presiona el botón de alternancia y lo restablece cuando se presiona el botón de alternancia.

Private Sub ToggleButton1_Click()

If ToggleButton1.Value Then

Range("A1").Interior.ColorIndex = 32

Else

Range("A1").Interior.ColorIndex = xlColorIndexNone

End If

End Sub

Botones de comando en VBA UserForm

Estos son los botones que usamos para ejecutar el código principal de VBA como validaciones, cálculos, envíos de formularios, etc.

En los ejemplos anteriores, he utilizado el botón de comando para enviar el formulario. Puede tener tantos botones de comando en el formulario de usuario como desee.

image

Para ejecutar códigos cuando se hace clic en el botón, simplemente haga doble clic en el botón. Abrirá el evento CommandButton_Click. Escriba aquí el código para ejecutarlo al hacer clic en el botón de comando.

image

El siguiente código se ejecutará cuando haga clic en el botón de comando listo y también cerrará el formulario de usuario.

Private Sub CommandButton1_Click()

Dim gender As String

If OptionButton1.Value = True Then

gender = "Male"

ElseIf OptionButton2.Value = True Then

gender = "female"

Else

gender = "other"

End If

MsgBox gender

Unload UserForm1 'closes userform

End Sub

Así que sí, chicos, estos son los controles básicos de forma de usuario en VBA. Espero que haya sido de ayuda. Si tiene alguna duda con respecto a los controles de formulario de usuario y eventos de formulario de usuario, escríbalo en la sección de comentarios a continuación.

Artículos relacionados

link: / applications-word-outlook-in-vba-Getting-started-with-excel-vba-userforms [Introducción a Excel VBA UserForms] | Los formularios de usuario de Excel son útiles para obtener información del usuario. Así es como debe comenzar con el enlace de formularios de usuario de VBA: / user-forms-input-boxes-in-vba-change-the-value-content-of-multiple-userform-controls-using-vba-in-microsoft-excel [Cambiar el valor / contenido de varios controles UserForm usando VBA en Excel] `| Para cambiar el contenido de los controles del formulario de usuario, utilice este sencillo fragmento de VBA.

`link: / user-forms-input-boxes-in-vba-prevent-a-userform-from-close-when-the-user-click-the-x-button-using-vba-in-microsoft-excel [ Impedir que se cierre un formulario de usuario cuando el usuario hace clic en el botón x mediante VBA en Excel] `| Para evitar que el formulario de usuario se cierre cuando el usuario hace clic en el botón x del formulario, usamos el evento UserForm_QueryClose.

Artículos populares:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-incrementa-your-productividad [50 accesos directos de Excel para aumentar su productividad] | Acelera tu tarea. Estos 50 atajos le permitirán trabajar aún más rápido en Excel.

link: / fórmulas-y-funciones-introducción-de-vlookup-function [La función VLOOKUP en Excel] | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas. enlace: / tips-countif-in-microsoft-excel [COUNTIF en Excel 2016] | Cuente valores con condiciones usando esta asombrosa función. No necesita filtrar sus datos para contar un valor específico.

La función Countif es esencial para preparar su tablero.

link: / excel-formula-and-function-excel-sumif-function [Cómo utilizar la función SUMIF en Excel] | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.