VBA 自定义图表数据

前面两种方法创建图表都利用了创建工程中的默认选项,下面通过编码设置各种选项,更加灵活强大。

自定义指定水平轴标签与图例项内容。

新建工作表Sheet6,数据如下:

img

代码如下

Sub sub1()
  Dim sheet1 As Worksheet
  Dim chart1 As Chart
  Set sheet1 = Worksheets("Sheet6")

  '创建图表型工作表
  Set chart1 = Charts.Add

  '添加系列
  chart1.SeriesCollection.Add sheet1.Range("B2:B13 , E2:E13")

  '指定系列的水平轴标签
  chart1.SeriesCollection(1).XValues = sheet1.Range("B2:B13")

  '指定系列的值
  chart1.SeriesCollection(1).Values = sheet1.Range("E2:E13")

  '指定系列的名称
  chart1.SeriesCollection(1).Name = "语文文"

  chart1.SeriesCollection.Add Source:=sheet1.Range("B2:B13")
  chart1.SeriesCollection(2).XValues = sheet1.Range("B2:B13")
  chart1.SeriesCollection(2).Values = sheet1.Range("F2:F13")
  chart1.SeriesCollection(2).Name = "英语语"

  chart1.ChartType = xlColumnClustered
  chart1.HasTitle = True
  chart1.ChartTitle.Caption = "学生成绩统计"

End Sub

运行效果

img