打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用EXCEL做调查问卷
原来写毕业论文一直想做个调查问卷的,但是由于特殊的原因没有做成,不过我想以后还是会用到的。帮同学填调查问卷的时候,觉得用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 = "市场调查数据分析"   '设置图表标题为“市场调查数据分析”
.Axes(xlCategory, xlPrimary).HasTitle = True   '设置图表显示x轴坐标标题
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用VB操作excel方法汇总
WPS中JS宏简单运用
Excel VBA单元格的引用方法,Cells属性方法你知几何
搜集各种Excel VBA的命令供参考!
VBA实用代码
Excel 如何在VBA中使用VLOOKUP函数?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服