首页 > 解决方案 > 更改选定图表的边框颜色

问题描述

如果我记录一个 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?

标签: excelvbaexcel-charts

解决方案


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

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

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

在此处输入图像描述

它改变活动选定图表的边框颜色。


推荐阅读