Я просмотрел 4 других цикла через все открытые листы в книге Excel, которые все искали в stackoverflow. Я очень новичок в VBA, поэтому у меня возникают трудности с пониманием того, как манипулировать этими ответами в моем коде.запуск скрипта через все открытые рабочие листы
Что я хотел бы сделать, так это создать диаграмму на каждом активном листе. Ниже приведен мой код для создания диаграммы в Листе 1 (найденный из другого сообщения и измененных параметров к тому, что мне нужно). Он создает диаграмму именно так, как мне хотелось бы. Я не знаю, как ссылаться на текущий лист в моем коде вместо листа 1, поэтому я знаю, что это мое первое препятствие. Я нашел, как цикл на https://support.microsoft.com/en-us/kb/142126, но он работает только для Листа 1, так как я не знаю, как правильно изменить этот параметр.
Sub chartcreation()
Dim sh As Worksheet
Dim chrt As Chart
Set sh = ActiveWorkbook.Worksheets("Sheet1")
Set chrt = sh.Shapes.AddChart.Chart
With chrt
'Data?
.ChartType = xlXYScatterSmooth
.SeriesCollection.NewSeries
.SeriesCollection(1).Name = "=Sheet1!B1"
.SeriesCollection(1).XValues = "=Sheet1!$A$3:$A$630"
.SeriesCollection(1).Values = "=Sheet1!$B$3:$B$630"
'Titles
.HasTitle = True
.ChartTitle.Text = "=Sheet1!B1"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = Range("A2")
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = Range("B2")
'Formatting
.Axes(xlCategory).HasMinorGridlines = False
.Axes(xlValue).HasMajorGridlines = True
.Axes(xlCategory).MinimumScale = 15
.Axes(xlCategory).MaximumScale = 90
.Axes(xlValue).HasMinorGridlines = False
.Axes(xlValue).MinimumScale = 0
.Axes(xlValue).MaximumScale = 60
.HasLegend = True
End With
End Sub
Что такое активный рабочий лист по вашему определению? Вы можете иметь только один активный рабочий лист за раз. – Niclas
И у вас есть данные в Sheet1? – Niclas
Извините, что я не понимаю. У меня будет 384 листа в одном файле, которые я хотел бы пропустить. Поэтому каждый лист содержит эти данные в столбцах A и B, из которых я хочу создать диаграмму. Если я изменю свой сценарий на каждый номер листа, я знаю, что это сработает, но мне было интересно, будет ли цикл проще, поэтому у меня нет 384 копий вышеупомянутого скрипта. – CorBoy