Tabla de contenido:
- Insertar un nuevo UserForm
- Agregar controles a un UserForm
- Cada control que agrega a un UserForm tiene propiedades que determinan cómo se ve o se comporta el control. Además, el UserForm en sí tiene su propio conjunto de propiedades. Puede cambiar estas propiedades con la ventana de Propiedades acertadamente nombrada. Esto muestra la ventana Propiedades cuando se selecciona un control CommandButton.
- Cada objeto de UserForm tiene un módulo de Código que contiene el código de VBA (los procedimientos de manejo de eventos) que se ejecuta cuando el usuario trabaja con el cuadro de diálogo. Para ver el módulo de Código, presione F7. La ventana Código está vacía hasta que agregue algunos procedimientos. Presione Shift + F7 para regresar al cuadro de diálogo.
- Muestra un UserForm usando el método Show de UserForm en un procedimiento de VBA.
- El VBE proporciona un nombre para cada control que agregue a un UserForm. El nombre del control corresponde a su propiedad Nombre. Use este nombre para referirse a un control particular en su código. Por ejemplo, si agrega un control CheckBox a un UserForm llamado UserForm1, el control CheckBox se llama CheckBox1 por defecto. Puede usar el cuadro Propiedades para hacer que este control aparezca con una marca de verificación. O puede escribir código para hacerlo:
Video: Premium: Trabajando con varios formularios vba en Excel - Ejemplo de uso 2024
Cada cuadro de diálogo de Excel que cree en VBA se almacena en su propio objeto UserForm, un cuadro de diálogo por UserForm. Usted crea y accede a estos UserForms en el Editor de Visual Basic.
Insertar un nuevo UserForm
Inserta un objeto UserForm siguiendo estos pasos:
-
Activa el VBE presionando Alt + F11.
-
Seleccione el libro de trabajo que contendrá el UserForm en la ventana Proyecto.
-
Elija Insertar → Formulario de usuario.
El VBE inserta un nuevo objeto UserForm, que contiene un cuadro de diálogo vacío.
Aquí hay un UserForm, un cuadro de diálogo vacío. Su trabajo, si elige aceptarlo, es agregar algunos controles a este UserForm.
Un nuevo objeto UserForm.Agregar controles a un UserForm
Cuando activa un UserForm, el VBE muestra el Cuadro de herramientas en una ventana flotante. Utiliza las herramientas en la Caja de herramientas para agregar controles a su UserForm. Si, por alguna razón, la Caja de herramientas no aparece cuando activa su UserForm, elija Ver → Caja de herramientas.
Para agregar un control, simplemente haga clic en el control deseado en la Caja de herramientas y arrástrelo al cuadro de diálogo para crear el control. Después de agregar un control, puede moverlo y redimensionarlo usando técnicas estándar.
Aquí hay una lista de las diversas herramientas, así como sus capacidades.
Control | Qué hace |
---|---|
Etiqueta | Muestra el texto |
TextBox | Permite al usuario ingresar texto |
ComboBox | Muestra una lista desplegable |
ListBox < Muestra una lista de elementos | CheckBox |
Ofrece opciones como on / off o yes / no | OptionButton |
Permite al usuario seleccionar una de varias opciones; utilizado en | grupos de dos o más
ToggleButton |
Permite al usuario activar o desactivar un botón | Marco |
Contiene otros controles | CommandButton |
Un botón en el que se puede hacer clic | TabStrip |
Muestra pestañas | MultiPage |
Un contenedor con pestañas para otros objetos | ScrollBar |
Permite al usuario arrastrar una barra para establecer una configuración | SpinButton |
Permite al usuario hacer clic en para cambiar un valor | Imagen |
Almacena una imagen | RefEdit |
Permite al usuario seleccionar un rango | Cambiar propiedades para un control UserForm |
Cada control que agrega a un UserForm tiene propiedades que determinan cómo se ve o se comporta el control. Además, el UserForm en sí tiene su propio conjunto de propiedades. Puede cambiar estas propiedades con la ventana de Propiedades acertadamente nombrada. Esto muestra la ventana Propiedades cuando se selecciona un control CommandButton.
Use la ventana Propiedades para cambiar las propiedades de los controles UserForm.
La ventana Propiedades aparece cuando presiona F4, y las propiedades que se muestran en esta ventana dependen de lo que se seleccione.Si selecciona un control diferente, las propiedades cambian a las apropiadas para ese control. Para ocultar la ventana de Propiedades y quitarla del camino, haga clic en el botón Cerrar en su barra de título. Al presionar F4, siempre lo devuelve cuando lo necesita.Las propiedades de los controles incluyen lo siguiente:
Nombre
-
Ancho
-
Alto
-
Valor
-
Título
-
Cada control tiene su propio conjunto de propiedades (aunque muchos controles tienen algunas propiedades comunes). Para cambiar una propiedad usando la ventana Propiedades, siga estos pasos:
Asegúrese de que el control correcto esté seleccionado en el UserForm.
-
Asegúrese de que la ventana Propiedades esté visible.
-
En la ventana Propiedades, haga clic en la propiedad que desea cambiar.
-
Haga el cambio en la parte derecha de la ventana Propiedades.
-
Si selecciona UserForm (no un control en el UserForm), puede usar la ventana Propiedades para ajustar las propiedades de UserForm.
Visualización de la ventana de Código de UserForm
Cada objeto de UserForm tiene un módulo de Código que contiene el código de VBA (los procedimientos de manejo de eventos) que se ejecuta cuando el usuario trabaja con el cuadro de diálogo. Para ver el módulo de Código, presione F7. La ventana Código está vacía hasta que agregue algunos procedimientos. Presione Shift + F7 para regresar al cuadro de diálogo.
Aquí hay otra forma de cambiar entre la ventana Código y la pantalla UserForm: use los botones Ver código y Ver objeto en la barra de título de la ventana Proyecto. O haga clic con el botón derecho en UserForm y elija Ver código. Si está viendo código, haga doble clic en el nombre de UserForm en la ventana Proyecto para regresar al UserForm.
Mostrando un UserForm
Muestra un UserForm usando el método Show de UserForm en un procedimiento de VBA.
La macro que muestra el cuadro de diálogo debe estar en un módulo de VBA, no en la ventana de Código para el UserForm.
El siguiente procedimiento muestra el cuadro de diálogo denominado UserForm1:
Sub ShowDialogBox () UserForm1. Mostrar 'Otras declaraciones pueden ir aquí End Sub
Cuando Excel muestra el cuadro de diálogo, la macro ShowDialogBox se detiene hasta que el usuario cierra el cuadro de diálogo. Entonces VBA ejecuta cualquier declaración restante en el procedimiento. La mayoría de las veces, no tendrá más código en el procedimiento. Como verá más adelante, coloca sus procedimientos de manejador de eventos en la ventana Código para UserForm. Estos procedimientos se activan cuando el usuario trabaja con los controles en el UserForm.
Usar información de un UserForm
El VBE proporciona un nombre para cada control que agregue a un UserForm. El nombre del control corresponde a su propiedad Nombre. Use este nombre para referirse a un control particular en su código. Por ejemplo, si agrega un control CheckBox a un UserForm llamado UserForm1, el control CheckBox se llama CheckBox1 por defecto. Puede usar el cuadro Propiedades para hacer que este control aparezca con una marca de verificación. O puede escribir código para hacerlo:
UserForm1. CheckBox1. Value = True
La mayoría de las veces, escribe el código para un UserForm en el módulo de código UserForm. Si ese es el caso, puede omitir el calificador de objeto UserForm y escribir la declaración de esta manera:
CheckBox1.Valor = Verdadero
Su código VBA también puede verificar varias propiedades de los controles y tomar las medidas apropiadas. La siguiente instrucción ejecuta una macro llamada PrintReport si la casilla de verificación (llamada CheckBox1) está marcada:
If CheckBox1. Value = True Then Call PrintReport
Por lo general, es una buena idea cambiar el nombre predeterminado que el VBE le ha dado a sus controles por algo más significativo.