Curso Excel VBA y Macros – Cap. 49 – Propiedades comunes de UserForms y Controles
En este capítulo de nuestro Curso de VBA y macros en Excel, seguiremos continuaremos con el ya solicitado tema de Formulario. Veremos en esta ocasión el tema de las propiedades más comunes usadas en UserForms y Controles Activex.
Las siguientes propiedades pueden ser usadas modificadas directamente desde la Ventana Propiedades y modificándolas desde VBA. A continuación, una lista de propiedades comunes, aunque aclaro, existen muchas más:
-
Name.
-
Caption.
-
Accelerator.
-
Value.
-
Enabled.
-
Visible.
-
TabIndex.
-
Height.
-
Width.
Ver video Capítulo 49 Excel VBA & Macros
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Propiedad Name
Esta propiedad nos permite identificar a los controles para poder manipularlos desde VBA. Cada control tiene un nombre predefinido, como por ejemplo un Cuadro de texto tendrá el nombre TextBox1, pero nosotros lo podemos cambiar a txtNombre o el nombre que deseemos, aunque se sugiere que sea descriptivo acerca de la función que tendrá el control.
Figura 1. Propiedad Name en Controles ActiveX y Formularios VBA.
En el siguiente ejemplo mostramos el contenido del TextBox1.
Private Sub UserForm_Initialize() MsgBox Me.txtNombre.Value End Sub
Propiedad Caption
Con esta propiedad haremos referencia al título o etiqueta que tendrá un Control. Desde un UserForm, pasando por un TextBox, la mayoría de los controles tienen un Caption, que será el texto que se mostrará en cada Control.
Figura 2. Propiedad Caption en UserForm VBA.
En la siguiente línea modificaremos el título de la venta del UserForm.
Private Sub UserForm_Initialize() Me.Caption = "EXCELeINFO" End Sub
Propiedad Accelerator
Usaremos la propiedad Accelerator cuando deseemos activar un Control o ejecutar un procedimiento que tenga asociado a su evento Click. Si por ejemplo tenemos un botón con el Caption “Prueba” y le asignamos la letra P como tecla aceleradora, cada que presionemos en nuestro teclado la combinación Alt + P, se activará o ejecutará una macro asociada a ese control.
Noten en la siguiente imagen que la letra P se subraya para identificar la letra aceleradora.
Figura 3. Propiedad Accelerator en CommandButton en Formulario VBA.
Propiedad Value
Algunos Controles permiten guardar valores, como por ejemplo TextBox o ComboBox. La propiedad Value nos permitirá guardar un valor para después volcarlo en alguna celda, otro Control o usarlo para algún cálculo.
Por ejemplo, los valores de un CheckBox son TRUE o FALSE.
Propiedad Enabled
En ocasiones vamos a necesitar inhabilitar controles, en base al contenido de otro control o como medida validación para seguir pasos al capturar valores. Para lo anterior, usaremos la propiedad Enabled, que será TRUE en caso de que deseemos habilitar un Control o FALSE para inhabilitarlo.
Figura 4. Propiedad Enabled para inhabilitara controles en UserForms con VBA.
Propiedad Visible
Con esta propiedad tendremos controles ocultos y mostrarlos en base a una condición. Si Visible es TRUE el control se muestra y con FALSE se oculta.
Figura 4. Propiedad Visible para mostrar controles en Formulario VBA.
Private Sub CheckBox1_Click() If Me.CheckBox1.Value = True Then Me.OptionButton1.Visible = False ElseIf Me.CheckBox1.Value = False Then Me.OptionButton1.Visible = True End If End Sub
Propiedad TabIndex
La propiedad TabIndex nos ayudará a tener un orden de activación de controles, es decir, al presionar la tecla Tabulador iremos activando o dándole foco a los controles. El índice menor es 0 y el mayor dependerá de los controles que tengamos en el Formulario.
Propiedad Height
Con esta propiedad vamos a modificar y manipular el alto de un Formulario o un Control.
Propiedad Width
Con esta propiedad vamos a modificar y manipular el ancho de un Formulario o Control.
Descargar el archivo de ejemplo
049 – Forrmularios Propiedades y tips – EXCELeINFO.zip
Si te gustó este tutorial por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.