在excel中使用vba绘制多个表格

你会看到我是一个初学者的Excel编码器。 我想在Excel中制作线图,每个图都有多个系列。

例如,第一个graphics需要标记为“电压”,并且需要在第二行的电压栏中列出数据。

图表的数量取决于在这种情况下,我有4个电池监视器的数量。

我很抱歉,我不知道如何在这里上传文件。 但是具有数据的表格由10列分隔开来,因此它们并不相邻。

Sub test() Dim Chart1 As ChartObject Set Chart1 = Sheets("Sheet1").ChartObjects.Add(52, 0, 1000, 500) With Chart1.Chart .SetSourceData Source:=Sheets("Sheet1").Range("H3:H2502") .ChartWizard Title:="Voltage", HasLegend:=True, CategoryTitle:="Time (s)", ValueTitle:="Voltage", Gallery:=xlLineStacked '.Legend = "Battery 1" This does not work End With End Sub 

我如何控制图例文字? 我怎样才能添加另一组数据到这个图表?

非常感谢您的参与

.SeriesCollection(n).name是图例的项目。

 Sub test() Dim Chart1 As ChartObject Dim Cht As Chart Dim n As Integer Set Chart1 = Sheets("Sheet1").ChartObjects.Add(52, 0, 1000, 500) Set Cht = Chart1.Chart With Cht .HasTitle = True .ChartType = xlLineStacked .Legend.Position = xlLegendPositionRight With .ChartTitle .Characters.Text = "Voltage" .Characters.Font.Size = 12 End With .SeriesCollection.NewSeries 'Add series n = n + 1 With .SeriesCollection(n) .Name = "Battery 1" .XValues = Range("a1:f1") .Values = Range("a2:f2") End With .SeriesCollection.NewSeries 'Add series n = n + 1 With .SeriesCollection(n) .Name = "Battery 2" .XValues = Range("a1:f1") .Values = Range("a3:f3") End With .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Votage" .Axes(xlCategory, xlPrimary).HasTitle = True .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time (s)" End With End Sub