VBA Показать диаграмму в новом листе и удалить, если она уже существует - PullRequest
0 голосов
/ 07 февраля 2020

Я хочу отобразить диаграмму на новом листе и удалить ее, если она уже существует. Я довольно (хорошо, может быть, немного) уверен, что я правильно понял код, но чувствую, что что-то не так с размещением или с чем-то, что я пропускаю полностью. Вот мой код и изображение таблицы, с которой я работаю:

Sub HistoricalDemand()
For Each ws In Worksheets
    If ws.Name = "Demand Line Chart" Then
        Application.DisplayAlerts = False
        Sheets("Demand Line Chart").Delete
        Application.DisplayAlerts = True
    End
End If
Next

ActiveChart.ChartArea.Select
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Demand Line Chart"

Columns("A:A").Select
Selection.NumberFormat = "[$-en-US]mmm-yy;@"

Range("A:A,E:E").Select
ActiveSheet.Shapes.AddChart2(332, xlLineMarkers).Select
' Try With command here
ActiveChart.SetSourceData Source:=Range("A:A,E:E")
ActiveChart.Axes(xlCategory).Select
Selection.TickLabels.Orientation = 70
Selection.MajorTickMark = xlNone
With ActiveChart
    .Axes(xlCategory).Select
    .Axes(xlCategory).MajorUnit = 2
    .ChartTitle.Select
    .ChartTitle.Text = "Historical Demand"
    .SetElement (msoElementLegendRight)
Selection.Format.TextFrame2.TextRange.Characters.Text = "Historical Demand"
With Selection.Format.TextFrame2.TextRange.Characters(1, 17).ParagraphFormat
    .TextDirection = msoTextDirectionLeftToRight
    .Alignment = msoAlignCenter
End With
ActiveChart.ChartArea.Select
End With
End Sub

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...