利用vba将moodle反馈单中数据图表化

学校利用mood的反馈单让学生评价自己的老师,每个老师10个问题,每个问题3个选项,形成了一个庞大大统计报表,教导处认为不直观,需要把有问题的选项找出来,并用图表的形式显示出来,我…

学校利用mood的反馈单让学生评价自己的老师,每个老师10个问题,每个问题3个选项,形成了一个庞大大统计报表,教导处认为不直观,需要把有问题的选项找出来,并用图表的形式显示出来,我就琢磨了两个小时,做了下面一段小程序。可以实现将学生对老师不满意度达到10%的数据筛选出来,并形成图表。

代码如下:

Private Sub CommandButton1_Click()

设置该图表是哪个年级的,用于下面生成图表名用

Filename = Sheet10.Range(“a3”)

‘设置第一饼图的起始参数位置,也是饼图生成阈值所要侦测的位置

i = Sheet10.Range(“b3”) 

 ‘饼图生成的阈值

Threshold = Sheet10.Range(“c3”)

‘如果反馈单中d列有值就循环,直到最后

Do While Sheet2.Range(“d” & i) > “”

‘如果反馈单中d“i”单元格的值达到阈值就生成图表

If Sheet2.Range(“d” & i) >= Threshold Then

‘生成图表开始

Charts.Add
    ActiveChart.ChartType = xlPie
    ActiveChart.SetSourceData Source:=Sheets(“反馈单”).Range(“B” & i – 2 & “:D” & i), PlotBy:= _xlRows
    ‘ActiveChart.SeriesCollection(1).Name = “=反馈单!R” & i – 2 & “C1”
    ActiveChart.SeriesCollection(1).Name = “=反馈单!R” & i – 2 & “C1”
    
 ‘生成图表结束

 ‘设置图表数据标签开始
      ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection(1).ApplyDataLabels AutoText:=True, LegendKey:= False, HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:= True, ShowValue:=False, ShowPercentage:=True, ShowBubbleSize:=False

 ‘设置图表数据标签结束

 ‘图表命名开始
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=Filename & Sheets(“反馈单”).Range(“A” & i – 2)
         With ActiveChart
        .HasTitle = True
    End With
 ‘图表命名结束
 
    End If

‘自增3准备下一次循环
i = i + 3
Loop

‘同目录存盘
ThisWorkbook.SaveAs ThisWorkbook.Path & “\” & Filename & “教评反馈图表生成.xls”
End Sub

(转自胡益兵的博客)

作者: admin

为您推荐

联系我们

联系我们

邮箱:

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部