使用VBA定制图表
我有一张带有数据透视表的表,我正在创build一个来自表的列堆积图。
我想改变图表中的图例条目的颜色,并希望每次创build图表时都有一个图表标题。
我试了下面的代码,我越来越
对象variables或块variables未设置
我得到了错误
cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(155, 213, 91)
任何人都可以告诉我如何为我的需求创build图表。 我已经添加了当前图表的图片和所需的图表。
Sub chart11() Dim sh As Shape Dim cht As Chart If ActiveSheet.PivotTables.Count = 0 Then Exit Sub Set ptable = ActiveSheet.PivotTables(1) Set ptr = ptable.TableRange1 Set sh = ActiveSheet.Shapes.AddChart sh.Select With ActiveChart .SetSourceData ptr .ChartType = xlColumnStacked End With cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(155, 213, 91) cht.Axes(xlCategory).MinimumScale = 5 cht.Axes(xlCategory).MaximumScale = 40 cht.HasTitle = True cht.ChartTitle.Text = "Default Chart" End Sub
这是我的代码现在生成的图表,如果我注释错误行:
我想有一个这种types的图表,改变颜色的图例和图表标题:
您不能使用cht.Axes(xlCategory).MinimumScale = 5和MaximumScale。 由于枢轴图不协助散点图。 只有在散点图中,您可以设置xlCategory Scale。
Sub chart11() Dim sh As Shape Dim cht As Chart If ActiveSheet.PivotTables.Count = 0 Then Exit Sub Set ptable = ActiveSheet.PivotTables(1) Set ptr = ptable.TableRange1 Set sh = ActiveSheet.Shapes.AddChart sh.Select Set cht = ActiveChart With cht .SetSourceData ptr .ChartType = xlColumnStacked End With cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 0) '<~~ Red cht.SeriesCollection(2).Format.Fill.ForeColor.RGB = RGB(0, 255, 0) '<~~ green 'cht.Axes(xlCategory).MinimumScale = 5 'cht.Axes(xlCategory).MaximumScale = 40 cht.HasTitle = True cht.ChartTitle.Text = "Default Chart" End Sub