En el post de hoy veremos un sencillo código de VBA, donde un procedimiento Sub nos mostrará u ocultará las Series de un gráfico, insertado en una hoja de cálculo de Excel.
La cuestión la planteó un lector a través de un comentario:
De manera similar a la que plantea el lector, disponemos un origen de datos y un gráfico de columnas ya generado:
Como vemos en la imagen, en las celdas B6:D6, tenemos celdas con una Validación de datos tipo lista, con valores Sí / No. Estos valores, siguiendo las indicaciones del lector, serán los que nos servirán para elegir si queremos o no Mostrar u Ocultar las Series en el Grafico.
He decidido ejecutar la macro de Excel asignándola a un botón, aunque podemos optar por cualquier otro método.
Insertaremos el siguiente código en un Módulo en la Ventana del Explorador de proyectos del Editor de VBA, formando nuestra macro de Excel:
Ya podemos comprobar nestra macro de Excel, modificamos alguna de las celdas B6:D6, y ejecutamos:
La cuestión la planteó un lector a través de un comentario:
......tengo tres series de valores en tres columnas (5 valores por columna, y tengo un grafico de la primera columna vs la segunda y la tercera. En la sexta fila de ls columnas dos y tres tengo una lista desplegable con las opciones SI y NO, y quiero que cuando en la lista se seleccione la opcion SI los valores de la columna correspondientes aparezcan en la grafica en caso contrario que no aparezcan en la grafica... |
De manera similar a la que plantea el lector, disponemos un origen de datos y un gráfico de columnas ya generado:
Como vemos en la imagen, en las celdas B6:D6, tenemos celdas con una Validación de datos tipo lista, con valores Sí / No. Estos valores, siguiendo las indicaciones del lector, serán los que nos servirán para elegir si queremos o no Mostrar u Ocultar las Series en el Grafico.
He decidido ejecutar la macro de Excel asignándola a un botón, aunque podemos optar por cualquier otro método.
Insertaremos el siguiente código en un Módulo en la Ventana del Explorador de proyectos del Editor de VBA, formando nuestra macro de Excel:
Sub MostrarSeries() 'Activamos el gráfico, previamente creado. ActiveSheet.ChartObjects("1 Gráfico").Activate 'Nos aseguramos que es de tipo Columnas ActiveChart.ChartType = xlColumnClustered 'y siempre para empezar, damos el rango completo como Fuente para construir el gráfico ActiveChart.SetSourceData Source:=Range("A1:D5") 'Ahora condicionamos Mostrar o Eliminar cada una de las tres series del gráfico 'al valor de las celdas B6:D6 If Range("B6") = "Sí" Then ActiveChart.SeriesCollection("Año2010").Values = Range("B2:B5") ElseIf Range("B6") = "No" Then ActiveChart.SeriesCollection("Año2010").Delete End If If Range("C6") = "Sí" Then ActiveChart.SeriesCollection("Año2011").Values = Range("C2:C5") ElseIf Range("C6") = "No" Then ActiveChart.SeriesCollection("Año2011").Delete End If If Range("D6") = "Sí" Then ActiveChart.SeriesCollection("Año2012").Values = Range("D2:D5") ElseIf Range("D6") = "No" Then ActiveChart.SeriesCollection("Año2012").Delete End If End Sub
Ya podemos comprobar nestra macro de Excel, modificamos alguna de las celdas B6:D6, y ejecutamos:
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.