VBA:使用VBA从Excel图表编辑图例名称

时间:2016-12-28 16:34:04

标签: excel vba excel-vba

我制作了一个图表,我试图绘制一些特定的数据。为此我制作了这段代码:

Sub plotsim()
Dim sh As Worksheet
Dim chrt As Chart
worksh = Application.Sheets.Count
Set sh = ActiveWorkbook.Worksheets("Simulation")
Set chrt = sh.Shapes.AddChart.Chart
With chrt
    .ChartType = xlLine
    .SeriesCollection.NewSeries
    .SeriesCollection(1).Name = "=""Portfolio forecast"""
    .SeriesCollection(1).XValues = Sheets("Simulation").Range("A2:A" & fsize + 1)
    .SeriesCollection(1).Values = Sheets("Simulation").Range(Sheets("Simulation").Cells(2, worksh + 1), Sheets("Simulation").Cells(fsize + 1, worksh + 1))
End With
End Sub

但是一旦我看一下图表,我看到的是一个有两条不同线条的传奇。

如何删除(或编辑) Series2 标题?

1 个答案:

答案 0 :(得分:2)

如果你真的想在图例中编辑 Series2 ,你会改变它,就像改变了Series1的名字一样:

.SeriesCollection(2).Name = "Unwanted series"

enter image description here

注意:我最初回答了以下内容:

  

以下代码行添加了您不需要的 Series2

.SeriesCollection.NewSeries
     

只需将其删除即可。

但我现在看到它并不完全正确。有时会创建一个额外的,有时不会,这取决于过去在工作表上发生的事情(我想我错过了一些明显的东西)。我已经能够重现这两种行为。如果你以某种方式结束了额外的系列',你可以通过调用删除任何多余的系列:

.SeriesCollection(2).Delete

只要您使用正确的序列号。您可以包含这样的测试,看看是否有额外的测试:

If .SeriesCollection.Count > 1 then .SeriesCollection(2).Delete