注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

胡益兵的博客

新的岗位,新的方向,新的使命,stem教育进行中。

 
 
 

日志

 
 

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

2012-01-10 14:45:41|  分类: 技术文锦 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

学校利用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

  评论这张
 
阅读(194)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018