Una alternativa a mostrar u ocultar objetos manualmente mediante el panel de selección, es usar VBA. Para ilustrarlo con sencillo ejemplo, hemos creado un semáforo cuyo color cambia en función de la selección en un cuadro combinado (verde, ámbar o rojo).
Es esencial que asignemos a las formas los nombres que usaremos en el código del paso 3 (Shapes: verde, rojo y ambar). Mediante el panel de selección, doble clic sobre el nombre del objeto y tecleamos el nombre escogido. También seleccionando el objeto y en el cuadro de nombres escribimos el nuevo nombre.
2. Insertamos un cuadro combinado (control ActiveX). En propiedades, en ListFillRange le indicamos el rango utilizado para rellenar la lista (Verde, Rojo y Ámbar). Los nombres del rango deben de coincidir con los valores asignados a Case en el código siguiente.
3. Asignamos código al cuadro combinado, haciendo clic en Ver código.
Private Sub ComboBox1_Change() ActiveSheet.Shapes.Range(Array("verde", "rojo", "ambar")).Visible = False Select Case ComboBox1.Value Case "Verde" ActiveSheet.Shapes("verde").Visible = True Case "Rojo" ActiveSheet.Shapes("rojo").Visible = True Case Else ActiveSheet.Shapes("ambar").Visible = True End Select End Sub
El código oculta las tres formas y muestra la forma correspondiente en función del valor del cuadro combinado (Verde, Rojo y Ámbar).
4. Desactivamos el modo diseño y el semáforo estará listo para cambiar según el color seleccionado en el cuadro combinado.
El objetivo no es en modo alguno dificultar lo que sencillamente podemos lograr utilizando un conjunto de iconos aplicando el formato condicional. Es un ejemplo muy simple pero puede servir como punto de partida para empezar a manipular formas y objetos mediante VBA.
Cómo acceder al panel de selección En la ficha Inicio, en el grupo Modificar, haga clic en Buscar y seleccionar y clic en Panel de selección. O bien clic sobre la forma u objeto, Herramientas de dibujo, y en el grupo Organizar clic en Panel de selección.
No hay comentarios:
Publicar un comentario