更改所选图表的边框颜色

时间:2020-10-06 14:57:30

标签: excel vba excel-charts

如果我记录一个Excel宏以更改图表的边框颜色,则VBA返回

Sub change_bordercolor()
    With ActiveSheet.Shapes("Chart 1").Line
        .Visible = msoTrue
        .ForeColor.RGB = RGB(0, 0, 0)
        .Transparency = 0
    End With
End Sub

所以我想编写代码来更改"Chart 1"而不是如下图当前所选图表的边框颜色。

Sub change_bordercolor()
    Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
End Sub

,但这将返回438运行时错误。我需要在哪里更改以使用Selection而不是"Chart 1?

2 个答案:

答案 0 :(得分:0)

要更改活动图表的边框颜色,您必须选择,可以使用以下代码:

Sub Macro1()

If Application.ActiveChart Is Nothing Then Exit Sub


With ActiveSheet.Shapes(Replace(Application.ActiveChart.Name, ActiveSheet.Name & " ", "")).Line
    .Visible = msoTrue
    .ForeColor.RGB = RGB(0, 255, 0)
    .Transparency = 0
End With

End Sub

我已将其设置为将边框颜色更改为绿色,但是您可以根据需要进行调整。它是这样工作的:

enter image description here

它会更改活动所选图表的边框颜色。

答案 1 :(得分:0)

这是一种更简单的方法:

Sub ChangeBorderColor()
  If Not ActiveChart Is Nothing Then
    With ActiveChart.ChartArea.Format.Line
      .Visible = msoTrue
      .ForeColor.RGB = RGB(0, 0, 0)
      .Transparency = 0
    End With
  End If
End Sub