1,数据形式如下,要做成的效果也如下:
需求:将每个人的成绩单独生成一张柱状图。
Sub 批量生成图表()
Dim mydatesourse As Range
For i = 2 To 5
Set mydatesoure = Sheets("学生成绩表").Range("a" & i & ":d" & i)
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=mydatesoure, PlotBy:=xlColumns
ActiveChart.Location where:=xlLocationAsObject, Name:=Sheets("学生成绩表").Name
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = Sheets("学生成绩表").Range("a" & i) & "同学的成绩单"
.Axes(xlValue, xlPrimary).HasTitle = True