Я пытаюсь автоматизировать генерацию динамической диаграммы XYscatter с использованием VBA. Мои данные представлены в наборах из 12 отдельных данных для каждого испытания, и количество проб будет различным. Во-первых, сканировав файл csv, чтобы найти последний набор данных, и, удалив первую строку тега, я разделил его на 12, чтобы определить количество доступных наборов, а затем заполнить данные на график с соответствующими точками данных и серия name. У меня большая часть кода работает, но у меня есть проблема с синтаксисом, включая данные диапазона для названия серии. Имя серии будет работать, только если я выбираю столбец вместо диапазона данных столбца.Excel VBA, имеющий несколько столбцов в виде диаграммы XYscatter Название серии в динамически сгенерированной диаграмме
Как я могу изменить свой код для ввода нескольких столбцов в качестве имени моей серии?
Sub PlotSelect()
Dim myChart As Chart
DataRow = 1
SelectRow = 2
With ActiveSheet
'To count the number of rows to determine number of sets of data
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Row = LastRow - 1
N = Row/12
'Creating a dummy chart before repopulating the data points
Range("A1:B2").Select
Set myChart = ActiveSheet.Shapes.AddChart2(240, xlXYScatterSmooth).Chart
' delete all the dummy series
For i = myChart.SeriesCollection.Count To 1 Step -1
myChart.SeriesCollection(i).Delete
Next
'Populating chart with data
Do While DataRow <= N
If DataRow <> -1 Then
myChart.SeriesCollection.NewSeries
myChart.SeriesCollection(DataRow).Name = Range(ActiveSheet.Cells(SelectRow, 2), ActiveSheet.Cells(SelectRow, 5))
myChart.SeriesCollection(DataRow).Values = Range(ActiveSheet.Cells(SelectRow, 9), ActiveSheet.Cells(SelectRow + 11, 9))
myChart.SeriesCollection(DataRow).XValues = Range(ActiveSheet.Cells(SelectRow, 8), ActiveSheet.Cells(SelectRow + 11, 8))
End If
DataRow = DataRow + 1
SelectRow = SelectRow + 12
Loop
End Sub