分享

用EXCEL做调查问卷

 富一生 2013-04-16

用EXCEL做调查问卷

    原来写毕业论文一直想做个调查问卷的,但是由于特殊的原因没有做成,不过我想以后还是会用到的。帮同学填调查问卷的时候,觉得用EXCEL做调查问卷好过简单的word文档的调查表,如果直接用电脑收集数据的话。EXCEL做调查问卷,后期的录入要简单很多,而且问卷的美观上也可以。于是一直在网上查了相关的资料,EXCEL做调查问卷,可以做到在共享下多人同时对其进行操作,所有人的结果都会分别保存,不会被覆盖,并会自动根据选择结果做出统计,并以饼形图方式将结果表现出来。这样也就用了简单的VBA和EXCEL的“窗体”工具栏上的“分组框、选项按钮、复选框、组合框、按钮”等控件,还是比较简单的。今天按照书上的例子做了个《洗发水的调查问卷》,在网上也收集了几套这样调查问卷,《英语培训调查问卷》、《市场调查问卷》、《教师调查问卷》和《组织人员配置情况调查表》。他人做的调查问卷更是精美,很是值得学习。

用EXCEL做调查问卷

 

 

附两个重要的VBA代码:

代码一、

Public Sub 自动记录调查数据()
   Dim Temp As Integer '定义一个用来保存工作表中单元格数据行数的整型变量
   Dim count As Integer  '定义一个用来保存调查结果记录行数的整型变量
   Temp = Sheets("Sheet3").[A1].CurrentRegion.Rows.count
              '将用于保存调查数据的工作表Sheet3的记录行数赋给count
   count = Temp - 3  '工作表中有3行单元格保存字段名
   Sheets("Sheet1").Select
   Range("A32:L32").Select  '在选定的工作表Sheet1选择待保存数据的区域
   Selection.Copy  '对选择的数据区域进行复制操作
   Sheets("Sheet3").Activate  '激活保存调查数据的工作表Sheet3
   Rows(Temp + 1).Select '选择工作表中最后一条记录的下一行单元格区域
   ActiveSheet.Paste '粘贴数据
   Cells(Temp + 1, 13).Value = count + 1 '实现数据记录的自动编号功能
   Sheets("Sheet1").Select
   Application.CutCopyMode = False  '释放进行复制操作的单元格区域
   MsgBox "记录已成功保存,谢谢!", vbOKOnly, "确定"  '以对话框的形式输出信息
End Sub

 

代码二、

Public Sub 统计调查数据()
Dim i, j, t As Integer '定义用于循环的整型变量
Dim count As Integer '定义用于保存记录数的整型变量
Dim Temp As Variant '定义用于读取单元格内容的变体型变量
    count = Sheets("Sheet3").[A1].CurrentRegion.Rows.count
       '将保存调查数据工作表的记录数赋值给count
    Sheets("Sheet4").Select
    For Each Temp In Range("B4:M9")
       Temp.Value = "" '将单元格区域“B4:M9”的值置空
    Next Temp
    Sheets("Sheet3").Select
    For i = 4 To count
       For j = 1 To 12
          t = j + 1  'Sheet3和Sheet4起始单元格之间有一个差值,即多了“选项数目”一列
          Select Case Cells(i, j)  '对工作表Sheet3中的单元格内容执行Select Case语句
          Case 1
             Worksheets("Sheet4").Cells(4, t) = Worksheets("Sheet4").Cells(4, t) + 1
              '如果Sheet3中单元格值为1,则Sheet4中对应的单元格的统计数值加1
          Case 2
             Worksheets("Sheet4").Cells(5, t) = Worksheets("Sheet4").Cells(5, t) + 1
             '如果Sheet3中单元格值为2,则Sheet4中对应的单元格的统计数值加1
          Case 3
             Worksheets("Sheet4").Cells(6, t) = Worksheets("Sheet4").Cells(6, t) + 1
          Case 4
             Worksheets("Sheet4").Cells(7, t) = Worksheets("Sheet4").Cells(7, t) + 1
          Case 5
             Worksheets("Sheet4").Cells(8, t) = Worksheets("Sheet4").Cells(8, t) + 1
          Case 6
             Worksheets("Sheet4").Cells(9, t) = Worksheets("Sheet4").Cells(9, t) + 1
          End Select
      Next j
   Next i
   Sheets("Sheet4").Select
   Dim chtChart As Chart    '定义一个图表类型变量chtChart
   Set chtChart = Charts.Add  '将添加的图表赋值给chtChart
   With chtChart  '使用With语句
      .Location where:=xlLocationAsNewSheet   '指定添加的此图表的位置
      '.Name = "数据分析图"  '设置图表显示在新建的“数据分析图”工作表中
      .ChartType = xlColumnClustered   '选择图表类型为“柱形图”
      .SetSourceData Source:=Sheets("Sheet4").Range("A3:M9"), PlotBy:=xlRows '选择数据来源
      .HasTitle = True  '设置图表显示标题
      .ChartTitle.Characters.Text = "市场调查数据分析"   '设置图表标题为“市场调查数据分析”
      .Axes(xlCategory, xlPrimary).HasTitle = True   '设置图表显示x轴坐标标题

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多