|
对excel的使用非常不熟悉的,这是我第一次尝试用excel来做调查问卷。从excelhome论坛里找一些大家上传分享的表格,一步一步的摸索,模仿着写了代码,花了两个星期看视频和泡论坛,终于能把问卷,数据,统计这三个表格都做出来了。对其他人来说可能是很简单的一份调查问卷,但希望能帮助到其他跟我一样不知道“宏”“数组公式”“代码编程”的初学者。以一个初学者的角度分享一下,在这个调查问卷中学习到的东西:
1.在“问卷”中,学会用“窗体”工具栏上的“按钮”、“分组框”、 “选项按钮”、“复选框”
(重点:一个问题就要用一个“分组框”。比如“年龄”这一项,先拖出一个“分组框”,将它修改为“年龄”。然后,必须是在分组框中拖拉出一个按钮来,并将按钮名修改为相应的调查项内容。比如“年龄”中我有ABCD四个调查项,所以要在分组框里拖拉出四个“选项按钮”按钮。)
2.右键点击“选项按钮”、“复选框”,在出现菜单里选“设置单元格格式”,点击“单元格链接”,选择相应的单元格。我在“问卷”的表格中,每个按钮和复选框都对应地选择链接在“c102:bg102”这个区域。单项选择题我用“选项按钮”,多项选择题我用“复选框”。(重点:在同一个分组框里的“选项按钮”只用对一个按钮设置一次“设置单元格格式”,其他的就会跟着默认好了。而在同一个分组框里的“复选框”就要每一个都要设置“设置单元格格式”才行。)
3.点击“窗体”工具栏上的“按钮”键,在表格里拖出一个按键,然后就会出现“指定宏”的窗口,点击“新建”,进入了“Visual Basic编辑器”。我用了以下代码(很长啊,谁能帮忙简化一下吗?其实,我还没完全弄懂这个代码全部意思的)。输入完成后退出“Visual Basic编辑器”。右键点击刚才拖出一个按键,选择“编辑”,输入“提交”。
Sub 保存()
r = Sheet3.Cells(65536, 1).End(xlUp).Row + 1
If r < 4 Then r = 4
With Sheet3
.Cells(r, 1) = Range("A2")
.Cells(r, 2) = Range("d102")
.Cells(r, 3) = Range("e102")
.Cells(r, 4) = Range("f102")
.Cells(r, 5) = Range("g102")
.Cells(r, 6) = Range("h102")
.Cells(r, 7) = Range("i102")
.Cells(r, 8) = Range("j102")
.Cells(r, 9) = Range("k102")
.Cells(r, 10) = Range("l102")
.Cells(r, 11) = Range("m102")
.Cells(r, 12) = Range("n102")
.Cells(r, 13) = Range("o102")
.Cells(r, 14) = Range("p102")
.Cells(r, 15) = Range("q102")
.Cells(r, 16) = Range("r102")
.Cells(r, 17) = Range("s102")
.Cells(r, 18) = Range("t102")
.Cells(r, 19) = Range("u102")
.Cells(r, 20) = Range("v102")
.Cells(r, 21) = Range("w102")
.Cells(r, 22) = Range("x102")
.Cells(r, 23) = Range("y102")
.Cells(r, 24) = Range("z102")
.Cells(r, 25) = Range("aa102")
.Cells(r, 26) = Range("ab102")
.Cells(r, 27) = Range("ac102")
.Cells(r, 28) = Range("ad102")
.Cells(r, 29) = Range("a102")
.Cells(r, 30) = Range("af102")
.Cells(r, 31) = Range("ag102")
.Cells(r, 32) = Range("ah102")
.Cells(r, 33) = Range("ai102")
.Cells(r, 34) = Range("aj102")
.Cells(r, 35) = Range("ak102")
.Cells(r, 36) = Range("al102")
.Cells(r, 37) = Range("am102")
.Cells(r, 38) = Range("an102")
.Cells(r, 39) = Range("ao102")
.Cells(r, 40) = Range("ap102")
.Cells(r, 41) = Range("aq102")
.Cells(r, 42) = Range("ar102")
.Cells(r, 43) = Range("as102")
.Cells(r, 44) = Range("at102")
.Cells(r, 45) = Range("au102")
.Cells(r, 46) = Range("av102")
.Cells(r, 47) = Range("aw102")
.Cells(r, 48) = Range("ax102")
.Cells(r, 49) = Range("ay102")
.Cells(r, 50) = Range("az102")
.Cells(r, 51) = Range("ba102")
.Cells(r, 52) = Range("bb102")
.Cells(r, 53) = Range("bc102")
.Cells(r, 54) = Range("bd102")
.Cells(r, 55) = Range("be102")
.Cells(r, 56) = Range("bf102")
.Cells(r, 57) = Range("bg102")
.Cells(r, 58) = Range("b91")
End With
Range("c102:bg102").ClearContents
MsgBox "谢谢参与,信息已经保存"
End Sub
4.每次按“提交”,“问卷”里的内容就会对应出现在“数据表(明细)”里。为了统计有几份问卷,我用了“=COUNTA(valuel)”来统计。我的需要问卷大约是100份左右,所以我把计算的区域定为这样“=COUNTA(A5:A168)”。
5.在“数据统计”表中,用到了“=COUNTIF(range,criteria)”。比如我要算年龄的A项目有多少人选,就是“=COUNTIF(数据表(明细)!B5:B150,1)”。我的多项选择题,比如“您在班组日常工作中遇到的主要问题?”有八个选择可以选,只要被选择了,就会显示“TRUR”表示该项被选择了,计算时我就用“ =COUNTIF('数据表(明细)'!J5:J150,"TRUE") ”( 重点:输入公式后,要同时按下“ctr+shift+enter”才可以产生数组公式。开始时,输入公式后我直接就按“enter”,公式是这样的:=COUNTIF(数据表!B5:B150,1);而同时按下“ctr+shift+enter”,就会出现了个大括号,变成这样: {=COUNTIF(数据表!B5:B150,1)} )
以上,就是我在做表时心得总结了。这个表格还有能完善的地方,但我的技术有限,目前就只能做到这样了。希望大家能给些指点,让做个类型的问卷能更省事和快捷o(∩_∩)o...
[ 本帖最后由 2003yaya 于 2010-4-27 14:56 编辑 ] |
|