Я делаю диаграмму, в которой меняется число серий, и все серии рисуют данные из разных листов, которые не являются активными. График создается на главном рабочем листе, называемом «graphsName», данные для каждой серии находятся на отдельном листе, который переименован в «targetSheetName» более крупным сабом.
Сейчас у меня есть следующее:
Public Sub GraphingTemperature(ByVal targetSheetName As String, ByVal graphsName As String)
Sheets(graphsName).Select
Application.Run "getUnits"
ActiveSheet.ChartObjects("Chart 1").Activate
With ActiveChart.SeriesCollection.NewSeries
.Name = Sheets(targetSheetName).Range("C1")
.Values = Sheets(targetSheetName).Range(Range("C5"), Range("C5").End(xlDown))
.XValues = Sheets(targetSheetName).Range(Range("D5"), Range("D5").End(xlDown))
End With
End Sub
Эта функция вызывается более длинной подпрограммой, которая создала диаграмму, а затем передает этой функции имя листа, содержащее данные для этой конкретной серии.
Я не хотел использовать структуру
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(1).Name
, потому что количество серий постоянно меняется.
Похоже, проблема возникает, когда я пытаюсь направить ее на значения и значения x ряда. Я бы хотел, чтобы серия графиков начиналась с 5-й строки столбца и продолжалась до последней записи. Кто-нибудь знает правильный синтаксис, когда я хочу получить данные серии из другого рабочего листа и передаю имя рабочего листа в подпрограмму?