Hola Maku. Yo creo que tu archivo ya cumple lo que quieres! Entiendo que querías una herencia... El primer cuadro lo coloreaste a mano y el segundo ha heredado eso, por lo que está esperando que lo colorees a mano también 😁 Fuera de bromas... Una opción sería que lo hagas con formato condicional y otra opción sería que lo hagas con macros, depende por cuál te inclines y si hay limitaciones en el entorno donde piensas ejecutarlo. Los archivos de macros tienen algunas limitaciones a nivel empresarial por las restricciones impuestas, por temas de seguridad, que impiden su ejecución. Ya nos comentas para poder ayudarte con algo
Por
DiegoPC , · publicado hace 15 horas 15 hr
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.