VBA – Botón de opción en Excel
In this Article
En VBA, puede crear un botón Botón de opciones para que el usuario pueda elegir entre varias opciones. Un botón de opción se utiliza a menudo en los formularios, pero también se puede utilizar en una hoja de cálculo. En este tutorial, aprenderá a crear un botón de opción, obtener una elección del usuario en VBA y utilizarlo en el código.
Si desea aprender a crear una casilla de verificación, haga clic aquí: VBA Checkbox
Crear un botón de opción
Para insertar un botón de opción en la hoja de cálculo, debe ir a la sección/pestaña desarrollador/programador, hacer clic en Insertar y en Controles ActiveX elegir Botón de opción :
Imagen 1. Insertar un botón de opción en la hoja de cálculo
Cuando seleccione el botón de opción que ha insertado, puede hacer clic en Propiedades en la pestaña Desarrollador:
Imagen 2. Cambiar las propiedades del botón de opción
Aquí puede establecer diferentes propiedades del botón de opción. Para empezar, cambiamos el atributo Name a optOptionButton1. Ahora, podemos utilizar el botón Opción con este nombre en el código VBA.
Además, cambiamos el texto que aparece junto al botón Opción a Masculino. Para ello, es necesario establecer el atributo Caption.
Como queremos permitir al usuario elegir el género, repetiremos todo el proceso para otro botón de Opción. El segundo tiene el nombre optOptionButton2, mientras que el caption es Femenino. También puede crear un nuevo botón de opción copiando el existente y cambiando las propiedades. Ahora nuestra hoja de cálculo tiene dos botones de opción:
Imagen 3. Insertar el segundo botón de opción
Obtener un botón de opción seleccionado en VBA
El propósito de un botón de opción es obtener la decisión del usuario. En el ejemplo mostraremos cómo escribir Masculino en la celda C3 si se elige el botón de opción 1 o Femenino si se elige el segundo. Cada botón de opción tiene su evento que se dispara cuando es elegido – Click Por lo tanto, para el primer botón de opción necesitamos poner el siguiente código en el evento Click del objeto optOptionButon1:
Private Sub optOptionButton1_Click()
If Hoja1.optOptionButton1.Value = True Then
Hoja1.Range("C3") = "Masculino"
End If
End Sub
Del mismo modo, pondremos este código en el evento Click del objeto optOptionButton2:
Private Sub optOptionButton2_Click()
If Hoja1.optOptionButton2.Value = True Then
Hoja1.Range("C3") = "Femenino"
End If
End Sub
El valor del botón Opción está en el atributo Valor del objeto optOptionButton1 u optOptionButton2. El valor del botón Opción puede ser verdadero si se elige o falso si no se elige.
Imagen 3. Devolverá Masculino si se elige el primer botón de opción
Como puede ver en la Imagen 3, hemos hecho clic en el primer botón de opción. Por lo tanto, el valor de Hoja1.optOptionButton1.Value es verdadero, por lo que el resultado en C3 es Masculino.
Imagen 4. Devuelve Femenino si se elige el segundo botón de opción
Al igual que en el ejemplo anterior, el valor de C3 se cambia a Femenino, ya que hemos elegido el segundo botón de opción. En este caso, se lanza el procedimiento optOptionButton2_Click() .
Utilizar un botón de opción en un formulario
Como hemos mencionado, el botón de opción se utiliza con mayor frecuencia en los UserForms. Para explicar cómo se puede hacer, primero insertaremos un UserForm. En el Editor VBA, haga clic con el botón derecho del ratón en el nombre del Módulo, haga clic en Insertar y elija UserForm:
Imagen 5. Insertar un formulario de usuario
Para mostrar los controles de inserción, es necesario activar la caja de herramientas. Para ello, haga clic en el icono de la caja de herramientas en la barra de herramientas. Después de eso, obtendrá la ventana con todos los controles disponibles. Puede hacer clic en el botón Opción para crearlo en el formulario de usuario:
Imagen 6. Insertar un botón de opción en el formulario de usuario
En la ventana de propiedades, cambiamos el nombre del botón de opción a optOptionButton1 y el título a Masculino. Del mismo modo, creamos otro botón de opción para Femenino. Cuando ejecutamos el formulario de usuario, obtenemos dos botones de opción:
Imagen 7. Dos botones de opción en el formulario
Si desea obtener un botón de opción seleccionado, debe utilizar la misma lógica que para una hoja de cálculo, que se explica anteriormente en el artículo.