Excel 更改选定图表的边框颜色
如果我录制Excel宏以更改图表的边框颜色,则VBA将返回Excel 更改选定图表的边框颜色,excel,vba,excel-charts,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 因此,我想编写代码来更改当前选定图表的边框颜色,而不是图
Sub change_bordercolor()
With ActiveSheet.Shapes("Chart 1").Line
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 0, 0)
.Transparency = 0
End With
End Sub
因此,我想编写代码来更改当前选定图表的边框颜色,而不是图表1,如下所示
Sub change_bordercolor()
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
End Sub
但这将返回438运行时错误。我需要在哪里更改以使用所选内容而不是图表1?要更改活动图表的边框颜色,您必须已选择,您可以使用以下代码:
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
我已经设置好将边框颜色更改为绿色,但您可以根据需要进行调整。这就是它的工作原理:
它会更改活动选定图表的边框颜色。以下是一种更简单的方法:
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
我发现选择图表比它的价值要麻烦得多,比正常情况下麻烦得多。选择问题。是否绝对有必要选择图表?在一张图表上运行代码?是的。我希望使用的选择。我的sub通过例如ActiveSheet.Shapes.AddChart2-1、xlXYScatter插入新图表。选择并执行一些微观管理,例如ActiveChart.SetElement msoElementChartTitleNone。我想在添加新图表时再添加一行以更改其边框颜色。谢谢。我可以再问一个吗?此代码从Application.ActiveChart.Name中引入了图表1部分,但是否需要在ActiveChart前面的应用程序?我有时会看到Application.ActiveSheet,有时只看到ActiveSheet,但我什么时候特别需要它呢?不,在这种情况下并不需要它。如果您正在使用不同的Excel实例,则只需要对象应用程序,而不是在本例中。我用它来提高效率和代码速度,但它不是必需的。非常感谢。我认为最简单的方法是ActiveChart.ChartArea.Format.Line.ForeColor.RGB=RGB0,0,0。