如果我记录一个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?
“
答案 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
我已将其设置为将边框颜色更改为绿色,但是您可以根据需要进行调整。它是这样工作的:
它会更改活动所选图表的边框颜色。
答案 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