用EXCEL做调查问卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用EXCEL做调查问卷
(2008-05-14 21:23:25)
原来写毕业论文一直想做个调查问卷的,但是由于特殊的原因没有做成,不过我想以后还是会用到的。帮同学填调查问卷的时候,觉得用EXCEL做调查问卷好过简单的word文档的调查表,如果直接用电脑收集数据的话。EXCEL 做调查问卷,后期的录入要简单很多,而且问卷的美观上也可以。于是一直在网上查了相关的资料,EXCEL做调查问卷,可以做到在共享下多人同时对其进行操作,所有人的结果都会分别保存,不会被覆盖,并会自动根据选择结果做出统计,并以饼形图方式将结果表现出来。这样也就用了简单的VBA和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 = "市场调查数据分析" '设置