Hoy vamos a ver cómo seleccionar el rango de datos de un gráfico en función de una condición.
Para este ejemplo, he elegido un gráfico del tipo dispersión, que son utilizados habitualmente. Pero no te preocupes si estás utilizando otro tipo de gráfico porque, como verás más adelante, el código hace referencia al nombre del objeto y no al tipo.
He creado una hoja de cálculo con dos series de datos como las que muestro en la figura. En el apartado "Selección datos" vamos a elegir qué lista de datos queremos representar en el gráfico.
Dim series As series
Dim cht As Chart
'Si la selección de datos es igual a 1
If Cells(18, "E") = 1 Then
'Borramos los datos del gráfico
Set cht = ActiveWorkbook.Sheets(1).ChartObjects("Grafico_1").Chart
For i = cht.SeriesCollection.Count To 1 Step -1
cht.SeriesCollection(i).Delete
Next i
'Añadimos la serie Datos1
cht.SeriesCollection.NewSeries.Select
With Selection
.Name = Range("C2").Value
.XValues = Range("C4:C13")
.Values = Range("D4:D13")
End With
'Si la selección de datos es igual a 2
ElseIf Cells(18, "E") = 2 Then
'Borramos los datos del gráfico
Set cht = ActiveWorkbook.Sheets(1).ChartObjects("Grafico_1").Chart
For i = cht.SeriesCollection.Count To 1 Step -1
cht.SeriesCollection(i).Delete
Next i
'Añadimos la serie Datos2
cht.SeriesCollection.NewSeries.Select
With Selection
.Name = Range("E2").Value
.XValues = Range("E4:E13")
.Values = Range("F4:F13")
End With
Else
'Si no hemos elegido ninguna opción, borramos los datos del gráfico
Set cht = ActiveWorkbook.Sheets(1).ChartObjects("Grafico_1").Chart
For i = cht.SeriesCollection.Count To 1 Step -1
cht.SeriesCollection(i).Delete
Next i
End If
End Sub
Por último, invitarte a compartir tus dudas en los comentarios o en el foro, y a darle clic a la publicidad de abajo para ayudarme a seguir creando contenido.
Hasta la próxima.
0 comentarios