Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Formularios VBA – Uso y propiedades del OptionButton

| 3 comentarios

La función OptionButton es útil para elegirá UNA SOLA OPCIÓN frente a varias opciones (son mutuamente excluyentes), por ende deben presentarse al menos 2 opciones para que sea válido. Asimismo, cuando se selecciona dicha única opción, se inicia alguna función u operación previamente establecida.

Las siguientes son todas las propiedades que el VBA tiene respecto al OptionButton, ordenado por categorías:

  • Apariencia:
    • Alignment (alineación): determina si la descripción del botón estará a la derecha o izquierda del botón.
    • BackColor: cambia el color (según paleta predeterminada) del campo del cuadro del optionbutton.
    • BackStyle: determina si el campo del cuadro del optionbutton tendrá fondo o sea transparente.
    • Caption: modifica la descripción (texto) del optionbutton
    • ControlTipText: Muestra un recuadro con información adicional cuando el mouse está encima del control
    • ForeColor:  cambia el color (según paleta predeterminada) del texto de la descripción del optionbutton
    • SpecialEffect: existen 0 – para un efecto de sombreado al botón del optionbutton o 1 – para un efecto simple (sin sombreado)
    • Value: los valores que puede tener son Verdadero/True o Falso/False si se selecciona o no el botón asociado (respectivamente). Como ejemplo, se generará un botón comando que muestre un msgbox dependiendo del optionbutton seleccionado (que tendrá de value “true”):

Private Sub CommandButton1_Click()

If OptionButton1.Value = True Then

   MsgBox "Seleccionaste Stat Cases"

End If

If OptionButton2.Value = True Then

   MsgBox "Seleccionaste Actual Cases"

End If

End Sub

    • Visible: existe la opción falso/false o verdadero/true para ocultar o no (respectivamente)  el cuadro del optionbutton en el userform
  • Comportamiento:
    • AutoSize: permite que el control se autoajuste al texto contenido (opciones true o false)
    • Enabled: para habilitar o deshabilitar el control
    • Locked: determina si un control puede ser editador o no (true o false)
    • TextAlign: alinear el texto de la descripción del optionbutton en 1 – izquierda, 2 – centrado y 3 - derecha
    • TripleState:  “true” si el control permite 3 estados, “false” si el control solo soporta 2 estados (true y false, por defecto)
    • WorldWrap: determina si el contenido de un control se mantendrá automáticamente al final de una línea y el control se expandirá para que quepa el texto.

    ·         Dato:

    o   ControlSource: se puede usar para especificar que data aparecerá en un control. Se puede mostrar y editar data asociada a una table, query o sentencia de SQL. También se puede mostrar el resultado de una expresión.

    ·         Fuente:

    o   Font: para configurar la fuente del texto en el optionbutton (fuente, estilo de fuente, tamaño, efectos, alfabeto)

    ·         Imagen:

    o   Picture: para que la descripción del optionbutton sea una imagen en vez de texto

    o   PicturePosition: para elegir entre 12 opciones de ubicación de la imagen dentro del cuadro de optionbutton

  •          Posición:

 o   Height: tamaño del optionbutton

 o   Left: posición a la izquierda del optionbutton

 o   Top: alineación vertical del optionbutton

 o   Width: para configurar el largo del control

  •          Varias:

 o   Accelerator: Establece o recupera la tecla de aceleración para un control

 o   GroupName: útil cuando existen varios cuadros de control de optionbutton para agruparlos distintamente y no sean excluyentes entre sí.

 o   HelpContextID: Este número se aplica para determinar la ayuda interactiva asociada al formulario

 o   MouseIcon: esta opción es válida cuando el MousePointer está configurado en 99. El puntero del mouse a mostrarse

 o   MousePointer: para seleccionar entre 16 opciones el tipo de cursor al estar dentro del cuadro del optionbutton

 o   TabIndex: correlatividad para la selección de los objetos dentro del userform con la pulsación de la tecla tab

 o   TabStop: tiene valores true o false; se pone este último para que no sea considerado en el enfoque mediante la pulsación de la tecla tab

 o   Tag: se puede usar para asignar un texto de identificación a un objeto sin afectar ninguna de sus otras propiedades configuradas o causando otro efecto secundario. Esta propiedad es útil cuando se necesita verificar la identidad en un formulario, reporte, sección o control que ha pasado de una variable a un procedimiento. También es útil para sumar valores de distintos grupos de optionbuttons.

A continuación un ejemplo gráfico de las distintas opciones/selecciones en un userform con optionbutton:

53 293x300 Formularios VBA – Uso y propiedades del OptionButton

61 Formularios VBA – Uso y propiedades del OptionButton

(Para mayor visualización de la imagen, hacer click en la misma)

 

Elaborado por: Pamela Gonzales

3 comentarios

  1. Cordial saludo,
    La presente es para solicitar mas información acerca de "MouseIcon".
    Aunque tenga "MousePointer está configurado en 99" no me permite seleccionar imagen alguna con el mensaje "No se puede configurar la propiedad MouseIcon.."
    De antemano muchas gracias.

  2. Buena tarde:

    Me gustaria, me pudieran ayudar con respecto a los optionbutton.

    Al establecer varios grupos de OptionButton, me gustaria que al dar click al boton," guardar o registrar datos" ,al finalizar toda la seleccion de cada una de las opciones, se pusieran en blanco o mas bien deseleccionadas.

    Como por ejemplo en un textbox cuando lo vas a limpiar, usas la siguiente sentencia:

    ActiveSheet.Cells(2, 14) = BoxArea
    BoxArea=" "

  3. En realidad quiero hacer un examen en excel con una macro que contenga optionbutton y quiero que me arroje en la hoja de calculo de la pregunta que vale 10 por ejemplo puse un frame con 3 optionbutton

    If optionbutton1.value=true then
    MsgBox "Es Incorrecto",16, "preguntas"
    OptionButton2.Enable=false
    Optionbutton3.enable=false

    If optionbutton2.value=true then
    MmsgBox "Es correcto",46, "preguntas"
    OptionButton1.Enable=false
    OptionButton3.Enable=false

    If optionbutton3.value=true then
    MsgBox "Es incorrecto",16, "preguntas"
    Optionbutton2.Enable=false
    Optionbutton1.Enable=false

    Y quiro que la respuesta verdadera pase a la hoja de calculo qie vale 10 y luego que saque el promedio

Deja una respuesta

Los campos requeridos estan marcados con *.