Я постоянно испытываю ошибки при попытке сделать макрос для форматирования моего графика. То, что я хочу сделать, это следующее: L oop через листы и графики, устанавливающие тип диаграммы (xlLine), вес серии, цвета серии, условные обозначения диаграммы (вниз), высота и ширина диаграммы.
Я пытаюсь использовать следующий код:
Sub LoopThroughCharts()
Dim sht As Worksheet
Dim CurrentSheet As Worksheet
Dim cht As ChartObject
Application.ScreenUpdating = False
Application.EnableEvents = False
Set CurrentSheet = ActiveSheet
For Each sht In ActiveWorkbook.Worksheets
For Each cht In sht.ChartObjects
cht.Activate
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection(1).Select
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(214, 198, 138)
.Weight = 1.5
ActiveChart.SeriesCollection(2).Select
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(5, 34, 61)
.Weight = 1.5
End With
Next cht
Next sht
CurrentSheet.Activate
Application.EnableEvents = True
End Sub
В настоящее время я получаю ошибку компиляции «Next cht» в конце кода, и первая строка «Sub LoopThroughCharts ()» становится желтой.
Любое предложение о том, как преодолеть эту ошибку?
Кроме того, в более раннем состоянии казалось, что она останавливается на ActiveChart.SeriesCollection(2).Select
И, похоже, потому что некоторые диаграммы имели только 1 серию. У вас есть предложение, как это преодолеть, так как в какой-то момент я проведу oop через другую книгу с множеством диаграмм с различным количеством серий.
Только что начал изучать кодирование VBA.