Identificar los tipos de controles que tenemos en un Formulario de Excel vba
<<CURSO COMPLETO DE MACROS EN YOUTUBE>>
En este artículo les comparto unas macros en Excel que nos permitirán identificar los diferentes tipos de controles ActiveX que podemos utilizar en Formularios u hojas de Excel.
Ver Video Capítulo 77 Excel VBA & Macros
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Cómo lo hacemos
Tenemos un formulario de Excel con 4 diferentes tipos de controles ActiveX: TextBox, CheckBox, ComboBox y Label. Primeramente haremos uso de la intrucción For Each…Next para recorrer todos los controles que tenemos en el formulario.
Figura 1. Formulario de Excel vba con diferentes tipos de controles.
Para poder identificar el tipo de Control haremos uso de la instrucción TypeOf nombre_objeto Is tipo_objeto.
Ejemplos con la instrucción TypeOf
Cambiar el efecto a Cuadro de texto
El primer tipo que usaremos será el TextBox que hace referencia a Cuadro de texto. Le cambiaremos la propiedad SpecialEffect a todos los TexBox que haya en el formulario:
Figura 2. Cambiando la propiedad SpecialEffect de un TextBox.
A continuación la macro usada:
'Botón Efecto Private Sub CommandButton3_Click() ' For Each Control In Me.Controls ' If TypeOf Control Is MSForms.TextBox Then ' Control.SpecialEffect = fmSpecialEffectEtched ' End If ' Next Control ' End Sub
Mostrar el nombre de CheckBox
El siguiente tipo será CheckBox, que son los cuadros de chequeo. Mostraremos en un mensaje el nombre de los 4 CheckBox del formulario:
Figura 3. Mostrando nombre de CheckBox con MsgBox.
A continuación la macro usada:
'Botón Nombres Private Sub CommandButton4_Click() ' For Each Control In Me.Controls ' If TypeOf Control Is MSForms.CheckBox Then ' Nombre = Control.Name Nombre2 = Nombre2 & " " & Nombre ' End If ' Next Control ' MsgBox Nombre2, vbInformation End Sub
Contar Combos
Otro tipo de control es el ComboBox. Para este ejemplo mostraremos un mensaje indicando cuántos Combos hay:
Figura 4. Contar Combos en el formulario.
Ahora les comparto el código vba usado:
'Botón Contar Private Sub CommandButton1_Click() ' Dim CuentaCombo As Integer ' CuentaCombo = 0 ' For Each Control In Me.Controls ' If TypeOf Control Is MSForms.ComboBox Then CuentaCombo = CuentaCombo + 1 End If ' Next Control ' MsgBox CuentaCombo & " Combos", vbInformation ' End Sub
Cambiar color a Etiquetas
Para este último ejemplo usaremos el tipo de control Label o etiquetas. Le cambiaremos el color a rojo a todas las etiquetas del formulario modificando la propiedad ForeColor:
'Botón Color Private Sub CommandButton2_Click() ' For Each Control In Me.Controls ' If TypeOf Control Is MSForms.Label Then ' Control.ForeColor = vbRed ' End If ' Next Control ' End Sub
Figura 5. Modificar color de texto a etiquetas.
Descargar el archivo de ejemplo
077 – Identificar los tipos de controles que tenemos en un Formulario – EXCELeINFO.zip
<<CURSO COMPLETO DE MACROS EN YOUTUBE>>
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.