Controles ActiveX: Botón de Opción (Adicionar Macro Parte 2)

En esta segunda parte de configuración VBA o adición de macros al Control ActiveX botón de Opción, vamos a dar una funcionalidad un poco más práctica adicional a la que tenemos donde se muestra un mensaje de la opción que estamos seleccionando.

La aplicación sigue siendo la misma donde tenemos tres opciones de marca de televisor para seleccionar una de ellas pero vamos a adicionar para cada macar, los distintos tamaños (en pulgadas) que hay disponibles:

De esta manera tenemos que para cada televisor hay ciertos tamaños así:

Samsung:       36”, 40” y 46”

Sony:              32”, 42” y 45”

LG:                  30”, 36” y 40”

Sin embargo, observemos que independiente de la marca que seleccione, los tamaños de todas las marcas van a estar “Disponibles” para ser seleccionados lo cual puede causar un error para la persona que este interactuando con el archivo Excel. Así que para solucionar esta situación, vamos a adicionar al código de las macros que tenemos, otra línea de código más con la cual, al momento de seleccionar una marca, inmediatamente se deshabiliten los tamaños de las otras dos marcas dejando disponible solo los tamaños de la marca de televisor seleccionada.

Para entender el desarrollo, primero es importante dejar claro que los nombres de cada uno de los botones de opción de los tamaños de televisor son consecutivos así:

  • Samsung 36”: se llama OptionButton4
  • Samsung 40”: se llama OptionButton5
  • Samsung 46”: se llama OptionButton6
  • Sony 32”: se llama OptionButton7
  • Sony 42”: se llama OptionButton8
  • Sony 45”: se llama OptionButton9
  • LG 30”: se llama OptionButton10
  • LG 36”: se llama OptionButton11
  • LG 40”: se llama OptionButton12

Ahora si vamos a desarrollar el ejercicio. La idea es que al seleccionar el Botón de Opción de la marca Samsung (OptionButton1), se deben inhabilitar los botones de opción de los tamaños de las otras 2 marcas de televisor, es decir, los tamaños de las marcas Sony y LG. Asi que nos ubicamos sobre el botón de opción de la marca Samsung (OptionButton1) en Modo Diseño y damos clic derecho, Ver código para abrir el Editor de Visual Basic:

Inmediatamente debajo del código que ingresamos previamente para mostrar el mensaje que indica que se ha seleccionado la marca Samsung, vamos a colocar el siguiente código:

OptionButton7.Enabled = False

OptionButton8.Enabled = False

OptionButton9.Enabled = False

OptionButton10.Enabled = False

OptionButton11.Enabled = False

OptionButton12.Enabled = False

Lo que estamos haciendo es que luego de mostrar el mensaje, tome los botones de Opción 7, 8, 9, 10, 11 y 12 que corresponden a los tamaños de las marcas de televisores Sony y LG y a cada uno de ellos, sobre la PROPIEDAD Enable, es decir la propiedad Habilitado la dejamos en Falso (False) o en otras palabras desactivar la propiedad Habilitado, con lo cual no se podrán utilizar dichos botones de opción. Vamos a la hoja Excel, desactivamos el Modo Diseño y probemos a dar clic sobre el botón de opción Samsung y veamos qué pasa con los botones de opción de los tamaños de las demás marcas de televisor:

Como vemos, los tamaños de las otras dos marcas de televisor están inhabilitadas y no podrán seleccionarse. Para completar el código del botón de opción de Samsung (OptionButton1) adicionamos el siguiente código:

OptionButton4.Enabled = True

OptionButton5.Enabled = True

OptionButton6.Enabled = True

Con estos códigos, lo que estamos indicando es al seleccionar el botón de opción de Samsung, (OptionButton1), los botones de opción 4, 5 y 6 que corresponden a los tamaños de televisor de la marca Samsung estén habilitados.

Ahora debemos copiar estos mismos códigos para los otros dos botones de las marcas Sony y LG donde lo que debemos ajustar es cuales son los botones de los tamaños de televisor que debemos inhabilitar según la marca que estemos configurando.

Para el botón de Opción de la marca Sony (OptionButton2):

OptionButton4.Enabled = False

OptionButton5.Enabled = False

OptionButton6.Enabled = False

OptionButton10.Enabled = False

OptionButton11.Enabled = False

OptionButton12.Enabled = False

 

OptionButton7.Enabled = True

OptionButton8.Enabled = True

OptionButton9.Enabled = True

Y para el botón de Opción de la marca LG (OptionButton3):

OptionButton4.Enabled = False

OptionButton5.Enabled = False

OptionButton6.Enabled = False

OptionButton7.Enabled = False

OptionButton8.Enabled = False

OptionButton9.Enabled = False

OptionButton10.Enabled = True

OptionButton11.Enabled = True

OptionButton12.Enabled = True

;

Y ahora vamos a la hoja Excel para ver el resultado:

Al seleccionar Sony:

Y al seleccionar LG:

Descargar archivo de trabajo

MÁS SOBRE

Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.

Siéntase libre de opinar

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc. Lo que no está permitido es insultar o escribir palabras ofensivas o soeces. Si lo hace, su comentario será rechazado por el sistema o será eliminado por el administrador. Por último, trate de no escribir en mayúscula sostenida, resulta muy difícil leerle.