2016-12-28 6 views
0

Я сделал диаграмму, где я пытаюсь построить некоторые конкретные данные. Для этого я сделал этот код: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 название?

+0

AFAIK вы можете щелкнуть на диаграмме, а затем снова нажмите на легенду, и выберите «Series2» только, а затем просто нажмите на ' DELETE'. – BruceWayne

ответ

1

Если вы действительно хотите редактировать 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 
Смежные вопросы