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