excel vb ActiveSheet.Shapes(" Chart 1")。填充运行时错误

时间:2017-06-27 21:55:15

标签: excel-vba charts vba excel

rgb1 = 200
rgb2 = 200
rgb3 = 200

ActiveChart.ChartArea.Select
With ActiveSheet.Shapes("Chart 1").Fill
    .Visible = msoTrue
    .ForeColor.RGB = RGB(rgb1, rgb2, rgb3)
    .Transparency = 0
    .Solid
End With

当我在Excel 2010中录制宏时,上面是右键单击图表区域最外部分的图表区域时得到的内容。这是ActiveChart.PlotArea.Select之外的区域。

但是,当我尝试在我的数据绘图宏中使用上述代码时,它会失败并显示runtime error '-2147024809 (80070057)': the item with the specified name wasn't found

我被("Chart 1")部分困住了。 我可以在excel中创建任意数量的图表,具有任何类型的名称,每当我在其上录制宏时,都会产生相同的宏代码。

在excel visual basic中,如何将图表区域背景颜色更改为活动图表的指定rgb值?

1 个答案:

答案 0 :(得分:1)

您可以使用With ActiveChart.ChartArea.Format.Fill,如下所示......

rgb1 = 200
rgb2 = 200
rgb3 = 200

With ActiveChart.ChartArea.Format.Fill
    .Visible = msoTrue
    .ForeColor.RGB = RGB(rgb1, rgb2, rgb3)
    .Transparency = 0
    .Solid
End With