Saltar al contenido

Rango variable en un gráfico


jramia

Recommended Posts

publicado

Hola,

El problema es el siguiente:

Si hago el gráfico como a continuación me funciona:

i = 0

Charts.Add

ActiveChart.ChartType = xlColumnClustered

ActiveChart.SetSourceData Source:=Sheets("DC").Range("H15000")

ActiveChart.SeriesCollection.NewSeries

ActiveChart.SeriesCollection(1).XValues = "=DC!R1C3:R168C4"

ActiveChart.SeriesCollection(1).Values = "=DC!R1C5:R168C5"

ActiveChart.SeriesCollection(1).Name = "=""DISOLVENTE CONSUMIDO"""

ActiveChart.Location Where:=xlLocationAsNewSheet

With ActiveChart

.HasTitle = True

.ChartTitle.Characters.Text = "DISOLVENTE CONSUMIDO"

.Axes(xlCategory, xlPrimary).HasTitle = True

.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "HORAS"

.Axes(xlValue, xlPrimary).HasTitle = True

.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "KG"

End With

With ActiveChart.Axes(xlCategory)

.HasMajorGridlines = False

.HasMinorGridlines = False

End With

With ActiveChart.Axes(xlValue)

.HasMajorGridlines = True

.HasMinorGridlines = False

End With

ActiveChart.HasLegend = False

ActiveChart.PlotArea.Select

With Selection.Border

.Weight = xlThin

.LineStyle = xlNone

End With

With Selection.Interior

.ColorIndex = 2

.PatternColorIndex = 1

.Pattern = xlSolid

End With

ActiveChart.ChartArea.Select

ActiveChart.Axes(xlCategory).Select

With Selection.Border

.Weight = xlHairline

.LineStyle = xlAutomatic

End With

With Selection

.MajorTickMark = xlNone

.MinorTickMark = xlNone

.TickLabelPosition = xlNextToAxis

End With

ActiveChart.ChartArea.Select

Pero si quiero que los datos con que quiero hacer las gráficas sean variables (como a continuación) tengo un problema en el código que no se como solventar:

i = 0

Charts.Add

ActiveChart.ChartType = xlColumnClustered

ActiveChart.SetSourceData Source:=Sheets("DC").Range("H15000")

ActiveChart.SeriesCollection.NewSeries

ActiveChart.SeriesCollection(1).XValues = "=DC!R(1+168*i)C3:R(168+168*i)C4"

ActiveChart.SeriesCollection(1).Values = "=DC!R(1+168*i)C5:R(168+168*i)C5"

ActiveChart.SeriesCollection(1).Name = "=""DISOLVENTE CONSUMIDO"""

ActiveChart.Location Where:=xlLocationAsNewSheet

With ActiveChart

.HasTitle = True

.ChartTitle.Characters.Text = "DISOLVENTE CONSUMIDO"

.Axes(xlCategory, xlPrimary).HasTitle = True

.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "HORAS"

.Axes(xlValue, xlPrimary).HasTitle = True

.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "KG"

End With

With ActiveChart.Axes(xlCategory)

.HasMajorGridlines = False

.HasMinorGridlines = False

End With

With ActiveChart.Axes(xlValue)

.HasMajorGridlines = True

.HasMinorGridlines = False

End With

ActiveChart.HasLegend = False

ActiveChart.PlotArea.Select

With Selection.Border

.Weight = xlThin

.LineStyle = xlNone

End With

With Selection.Interior

.ColorIndex = 2

.PatternColorIndex = 1

.Pattern = xlSolid

End With

ActiveChart.ChartArea.Select

ActiveChart.Axes(xlCategory).Select

With Selection.Border

.Weight = xlHairline

.LineStyle = xlAutomatic

End With

With Selection

.MajorTickMark = xlNone

.MinorTickMark = xlNone

.TickLabelPosition = xlNextToAxis

End With

ActiveChart.ChartArea.Select

Les agradecería mucho que me ayudasen con este problema, gracias.

publicado

Hola jramia

Bienvenido al foro (¿Has leído las normas?, un archivo siempre ayuda a que te ayuden)

ActiveChart.SeriesCollection(1).XValues = "=DC!R(1+168*i)C3:R(168+168*i)C4"

ActiveChart.SeriesCollection(1).Values = "=DC!R(1+168*i)C5:R(168+168*i)C5"

Todo lo que va entre comillas será considerado como un texto y por lo tanto es lógico que no te funcione, deberías probar a separar la cadena en algo tal que

ActiveChart.SeriesCollection(1).XValues = "=DC!R(" & 1+168*i & ")C3:R(" & 168+168*i & ")C4"

ActiveChart.SeriesCollection(1).Values = "=DC!R(" & 1+168*i & ")C5:R(" & 168+168*i & ")C5"

no sé si te funcionará (si hubieras subido el archivo se podría haber probado) pero algo así debería valerte.

Un saludo desde Vitoria

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.