Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 更改添加为形状对象的图表边框颜色_Excel_Vba - Fatal编程技术网

Excel 更改添加为形状对象的图表边框颜色

Excel 更改添加为形状对象的图表边框颜色,excel,vba,Excel,Vba,我正在尝试更改作为形状添加的图表的边框颜色。我尝试使用宏录制器,但添加到我自己的代码时,该代码不起作用。它引用的形状对象存在一些问题 用于添加图表的代码: Set Cht = ActiveSheet.Shapes.AddChart(Left:=, Width:=, Top:=, Height:=).Chart 宏记录器记录的代码: With ActiveSheet.Shapes("Chart 1").Line 'Line and pattern color .Visible = mso

我正在尝试更改作为形状添加的图表的边框颜色。我尝试使用宏录制器,但添加到我自己的代码时,该代码不起作用。它引用的形状对象存在一些问题

用于添加图表的代码:

Set Cht = ActiveSheet.Shapes.AddChart(Left:=, Width:=, Top:=, Height:=).Chart
宏记录器记录的代码:

With ActiveSheet.Shapes("Chart 1").Line 'Line and pattern color
    .Visible = msoTrue
    .ForeColor.ObjectThemeColor = msoThemeColorAccent1
    .ForeColor.TintAndShade = 0
    .ForeColor.Brightness = 0
    .Transparency = 0
    .Weight = 2
End With
ActiveSheet.ChartObjects("Chart 1").Activate
With ActiveSheet.Shapes("Chart 1").Fill
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorAccent1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0.8000000119
        .Transparency = 0
        .Solid
End With

代码适用于Chart1,但在我移动到Chart2时失败。

请尝试下面的代码以循环遍历所有
形状,如果形状类型为
msoChart
,请修改边框和填充属性

代码

Option Explicit

Sub FormatMultiCharts()

Dim MyCht       As Shape

For Each MyCht In ActiveSheet.Shapes
    If MyCht.Type Like msoChart Then ' check if shape type is chart
        With MyCht.Line
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
            .Transparency = 0
            .Weight = 2
        End With

        With MyCht.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0.8000000119
            .Transparency = 0
            .Solid
        End With
    End If
Next MyCht

End Sub

黑色边框图表:1==黑色

使用ActiveChart.ChartArea .Border.ColorIndex=1

结束图表2代码在哪里?它在哪里崩溃?@Ayush你想更新多个图表吗?谢谢你的关注@Shai Rado-是的,我在一张工作表中有3个图表,我需要将这些格式更改应用于所有图表。@Jivko-Chart2代码与Chart1代码相同。只是参考更改为图表2。这太完美了!谢谢!