办公软件excel如何做答题系统
【利用Excel,VBA制作多选题考试系统】Excel多选题统计
面对大量的选择题考试,如果印刷纸质试卷,考完后由教师人工阅卷,不但效率低下,而且浪费人力、物力,还很容易出错。即使学校有条件使用机读卡考试,也会提高成本,浪费财力。我们利用ExcelVBA制作了选择题考试系统,使用方便,节人力、物力,深受广大教师的欢迎。下面我以多选题为例介绍一下具体法,供读者参考。
一、界面设计
启动Excel2003,把Seet1更名为“多选题”,Seet2更名为“多选题库”,在“多选题”中输入相应的内容,把窗口右上角的“垂直拆分块”拖动到第五行的下边缘,再点击“窗口→冻结窗格”。两个按钮以后再添加,如图1所示。
图1
把题目录入到“多选题库”中,其中第一行为字段名,在A1―H1中分别输入:章、题号、答案、题、A、B、C、D。第二行以下为题目,如图2所示。录入完毕后统计一下题目总数(我这里共录入了303道题,考试抽取20道题,考试时间共30分钟),在“多选题”的下列单元格中分别输入内容(O1:总题数、P1:303、O2:抽题数、P2:20、Q1:考试时间(分钟)、Q2:30)。选择“工具→保护→允许用户编辑区域”,把B2、D2、H5放入其中。至此,准备工作基本完毕。
图2
二、代码编辑
限于篇幅,以下只介绍代码编辑中的技术问题,详细请参阅省略/413660998?ptlang=2052。按Alt+F11键,进入VBA编辑界面,按Ctrl+R显示“工程资源管理器”窗口,按F4显示“属”窗口。
1.启动代码简介
双击“MicrosoftExcel中对象”中的“TisWorkook”,在右侧窗口中输入代码。这部分代码触发Workook_Open()事件,主要有三项任务。其一是利用“Workseets("多选题库").Visile=xlSeetHidden”隐藏题库;其二是清除上一名考生保存的信息;其三是利用MsgBox语句给出“考试说明和答题注意事项”。
2.随机出题代码简介
插入模块,将其命名为“随机出题”(SuSetAPaper()),在其中输入代码。任务有两项。其一是根据“总题数”和“抽题数”产生相应的不重复随机数,并存入“Tiao()”数组,示例代码如下:
Fori=1Totisu
B:Randomize
y=Int((StartEnd(1,2)-StartEnd(1,1)+1)*Rnd()+StartEnd(1,1))
Forj=1Toi
IfTiao(1,j)=yTen
GoToB:EndIf
Nextj:Tiao(1,i)=y:Nexti
StartEnd(1,1)=1表示起始题号,StartEnd(1,2)=总题数,是结束题号,Tisu=抽题数。Randomize语句的作用是初始化随机数生成器,避免每次启动程序时产生的随机数相同。其二是按照产生的随机数抽取题目,写在试卷的相应位置上。示例代码如下,其中Dxt代表“单选题”工作表,Dxtk代表“单选题库”工作表。
n=1:i=1
Fori=1Totisu
Cells(i*5+1,2)=CStr(i)&"."题号
Cells(i*5+1,3)=Dxtk.Cells(Tiao(1,i)+1,4)""题
Cells(i*5+2,2)="A.":Cells(i*5+3,2)="B."
Cells(i*5+4,2)="C.":Cells(i*5+5,2)="D."
Cells(i*5+2,3)=Dxtk.Cells(Tiao(1,i)+1,5)""A选项
Cells(i*5+3,3)=Dxtk.Cells(Tiao(1,i)+1,6)""B选项
Cells(i*5+4,3)=Dxtk.Cells(Tiao(1,i)+1,7)""C选项
Cells(i*5+5,3)=Dxtk.Cells(Tiao(1,i)+1,8)""D选项
Dxtk.Cells(i+1,10)=Dxtk.Cells(Tiao(1,i)+1,3)""记录答案
Nexti
3.按钮和学生答题代码
双击“MicrosoftExcel对象”中的“Seet1(多选题)”,在右侧窗口中输入代码。其中两个按钮代码一个是“随机出题”:CallSetAPaper;一个是“卷评分”:CallScore。学生答题主要是触发Workseet_SelectionCange(ByValTargetAsRange)事件,用r=Target.Row记录单击的行号,用x=Int((r-1)/5)记录题号。如果单击的不是第二列就退出,是题号行也退出。如果单击的是“选项”,就记录其值,并判断答案中是否已经存在该选项。如果存在就删除,如果不存在就添加。示例代码如下:
WitWorkseets("多选题")
danji=Left(Target.Value,1)
IfCells(x*5+1,1)=""Ten
Cells(x*5+1,1)=danji
Else
mylen=Len(Cells(x*5+1,1)):Form=1Tomylen
Ifdanji=Mid(Cells(x*5+1,1),m,1)Ten"""如果存在
Cells(x*5+1,1)=Replace(Cells(x*5+1,1),danji,"")"""就删除
ExitSu:EndIf:Nextm
Cells(x*5+1,1)=Cells(x*5+1,1)&danji"""不存在就添加
EndIf
EndWit
显示控件工具箱工具栏,添加第一个按钮并双击之,在属窗口中把其Caption属更改为“随机出题”,添加第二个按钮,把其Caption属更改为“卷评分”。
4.计时器代码
插入模块,命名为“计时器”,在其中输入代码,其中RemT=Workseets("多选题").Cells(2,17)1,Sec=60,Jg=1。通过runtimer()过程和js()过程的循环调用,利用OnTime函数,在屏幕上显示变化的时间,并实现剩余1分钟提醒,到时自动卷。
Suruntimer()"时间运行
Application.OnTimeNow+TimeValue("00:00:"&Jg),"js"
EndSu
本文为全文原貌未安装PDF浏览器用户请先下载安装原版全文 Sujs()"计时
IfCStr(Cells(1,12))>""TenExitSu
IfSec>0Ten
Sec=Sec-Jg:Workseets("多选题").Cells(5,8)="考试剩余时间:"&RemT&":"&Sec
Else:Sec=60
IfRemT>0Ten
IfRemT=1TenMsgBox"离考试结束还有1分钟!":TisWorkook.Se:RemT=RemT-1
Else:MsgBox"考试结束!":CallScore:EndIf:EndIf:Callruntimer
EndSu
5.自动评分代码
插入模块,命名为“自动评分”(SuScore()),在其中输入代码。
SuScore()"自动评分
ts=Cells(2,16):n=ts*5+5:DF=0
Form=6TonStep5
IfCells(m,1)>""Ten
mylen=Len(Cells(m,1))
BzDaan=Workseets("多选题库").Cells(1+(m-1)/5,10)
Fori=1Tomylen
MyCeck=Mid(Cells(m,1),i,1)Like"["&BzDaan&"]"
IfMyCeck=FalseTenGoToC
Nexti
IfLen(Cells(m,1))=Len(BzDaan)TenDF=DF+1
IfLen(Cells(m,1))本文为全文原貌未安装PDF浏览器用户请先下载安装原版全文
本人想利用excel一个自动出题系统,第一个工作簿是随机生成的试卷,后面的几个工作簿是题库,请问如...Excel+Word轻松自制随机出卷系统 先把收集到的大量考题集中保存到题库中,再随机从中抽取指定数量的题目制作考卷,这种随机抽题出卷的方式相信大多教师朋友都知道吧。不过你有没有想过可以自己设计一个随机出卷系统呢?这其实很容易实现,我们只要用Excel2010函数配合Word2010的邮件合并就可以轻轻松松地按自己的要求定制出卷系统。设计好后你只要输入足够的题目,按两下鼠标就可以随机自动生成试卷了,是可以直接打印出来使用的试卷哦。
一、用Excel2010实现随机抽题
在Excel中实现随机抽题的原理其实很简单。我们先对所属单元在考试范围内的题目都用RAND产生一个随机数,再按随机数对题目排名次。这样前N名的题目自然是随机的。然后再用VLOOKUP按名次值把前1-N名的题目顺次提取出来,不就等于是随机抽取N题了吗?而我们每刷新一次随机数都会随机变化,也就可以得到不同的随机试卷题目。
1建立题库
打开Excel2010,新建“出卷”、“填空题”两个工作表。在“填空题”工作表的A1单元格输入0,在B1:H1输入随机数、“一、填空题”、“一、填空题(答案)”、所属单元等标题(图1)。在B2单元格输入公式=IF(AND(E2>=出卷!B$7,E2<=出卷!D$7),RAND(),""),公式中的B$7、D$7是“出卷”工作表中显示出题范围的单元格。在A2=RANK(B2,B:B)+COUNTIF(B$2:B2,B2)-1,RANK用于根据随机数返回该题的名次,后面加上COUNTIF(B$2:B2,B2)则是确保万一随机数相同时也会递增排名,从而使名次数值连续不中断。选中A2:B2单元格,拖动其填充柄向下复制填充到5000行,具体行数请按实际会保存的最大题数考虑。最后在C:E列逐一输入题目、答案、所在单元即可,在此我们就先随便输入几道题用作实验吧。
右击“填空题”工作表的标签选择“移动或复制”,选中“建立副本”确定进行复制。右击复制出的“填空题(2)”工作表标签选择“重命名”把它改成“选择题”,并把“选择题”工作表中C1的题目改成“二、选择题”、D1改成“二、选择题(答案)”,这样选择题库就好了。同样建立出问答题题库。
2主界面设置
切换到“出卷”工作表,按需要设计好出卷界面。在E2单元格输入公式=C2*D2,并把公式复制到E3、E4,在C5输入公式=SUM(C2:C4)并向复制到E5以计算出题数、总分。在A2输入2,在A3输入公式=A2+C2+1并向下复制填充到A4:A5单元格,以计算出各种题型大标题所在的行数。
在F2单元格输入公式=IF(ROW()>A$5,0,COUNTIF(G$1:G2,G2)-1)以自动显示题号。G2输入公式=VLOOKUP(ROW(),A:B,2,TRUE)以显示对应的题型。H2输入公式=IF(F2=0,"",F2&".")&IFERROR(VLOOKUP(F2,INDIRECT(G2&"!A:D"),3,FALSE),"")按题号从题库的A列中找到符合的随机名次并返回在第3列的题目。I2也输入与H2相同的公式只是要把公式中的3改成4以返回题库第4列的答案。最后选中F2:I2单元格拖动其填充柄把公式向下复制到150行即可(图2)。复制行数请按试卷最大题数考虑,一般应该不需要超过150题啦。最后把工作薄命名保存为“出卷系统.xlsx”。
注:试卷各大标题中往往还需要注明题数、分值、总计分等,这可用公式从出卷工作表中引用。比如:在填空题工作表的C1单元格输入公式="一、填空题(共"&出卷!C2&"题每题"&出卷!D2&"分,总计"&出卷!E2&"分)",即可在C1自动显示成“一、填空题(共4题每题5分,总计20分)”这样的题目了。
二、用Word设计试卷
接下来要的就是把提取出来的题目排版生成一张可以直接打印出来使用的试卷。这个可以通过Word的邮件合并功能自动完成。
打开Word2010,切换到“邮件”选项卡,单击“选择收件人”选择“使用现有列表”,选择打开前面保存的“出卷系统.xlsx”。在弹出的“选择表格”窗口中√选“数据首行包含列标题”选项,选择“出卷$”,确定完成设置。接着单击“插入合并域”在弹出窗口中双击选择插入“题目”,再单击“规则”选择“下一记录”。然后选中插入的“《题目》《下一记录》”进行复制。再连续按Ctrl+V键粘贴出150行“《题目》《下一记录》”(图3)。现在单击“查看合并数据”就可以看到所有试题了。当然实际上出卷工作表中的题目肯定没有150题,后面没题目的记录,其合并域会自动消失,包括域后面的回车也会一起消失哦。
试卷题目准备好了,再来设置一下首行缩进、添加密封线内容、设置纸张大小方向和分栏等格式。这些试卷的设置已有不少相关介绍,相信大家都比较清楚,限于篇幅就不细说了,最后效果如图(图4)。设置好后把文件保存为“试卷.docx”
我们还要再另建一个Word文档用来显示所有试题的标准答案,作和“试卷.docx”差不多。单击“邮件”选项卡的“选择收件人”选择“使用现有列表”,打开“出卷系统.xlsx”的“出卷$”工作表;单击“插入合并域”选择插入《答案》,并插入“条件”的《下一记录》;复制粘贴出150行;单击“查看合并数据”以显示所有答案,然后保存为“答案.docx”。
三、随机出卷系统的维护与使用
OK,到此我们的随机出题系统设计已经大功告成了,这设置还是蛮简单的吧。接下来,你只要把题目逐一录入题库中就可以随机抽题出卷了。
1题目录入
题目录入比较简单,打开“出卷系统.xlsx”,直接在填空题、选择题、问答题题库工作表的C:E列输入即可。不过考虑到最终生成试卷的效果,在题目输入时有一些要求需要注意一下:
(1)填空题中留待填写的填空区域要通过插入中文下划线实现。不能插入空格再设置下划线格式,否则在Word中生成试卷后你还得再逐一设置下划线。在中文输入法界面上右击那个键盘图标,选择“特殊符号”以显示软键盘(图5),单击软键盘N键或直接按键盘N键即可插入中文下划线“_”,按Esc关闭软键盘。
(2)选择题中你需要按Alt+回车键换行,再插入空格调整各选项位置。建议先在B2单元格中输入一个空行以及A、B、C、D选项并用空格定位好,拖动填充柄把这个单元格复制到下面各单元格中,再逐一输入题目和选项内容(图6),这样会比较方便输入。只要不输入所属单元那些空行就不会参与选题出卷。此外,最好先适当调整C列列宽让各行显示的字数正好与Word试卷中的单行字数一致,以便准确调整选项位置。
(3)问答题下留待填写的空行,同样可以按Alt+回车键在单元格中换行增加。但要注意的是每一个空行中至少要输入一个空格(图7),否则在Word中会只剩下一个空行。建议先在B2单元格中输入一些含空格的空行,再把B2向下复制到各单元格中,然后再逐一输入题目。当然你也可以只输入题目,等最终生成试卷后再在试卷中题目下添加空行,这个就看个人习惯了。
(4)增加题目可以在题库后追加输入,或选中已有题目行进行复制,右击选择“插入复制行”后再修改成新题目。删除题目可直接删除行,不过对于只是暂时不用的题目可以不必整行删除,你只要把该题“所属单元”的数字删除就可以让它不参与出题,下次需要时再重新输入“所属单元”数字即可恢复。
EXCEL表格中建立题库,随机抽选题目,怎样?1、首先在Excel表格中输入需要建立的加减乘除的题库数据,并且在题库右侧的空白单元格中输入随机函数公式:=rand()。。
2、点击回车并下拉公式即可生成一组随机函数生成的数据,此时需要对计算的结果进行粘贴数值的作,避免随机函数发生变化。
3、选中所有单元格并点击“开始”选项卡中的“排序”,可以进行升序或者降序排序。
4、排序后原本的题库内的题目就根据不同的排序发生了位置上的变化,此时选择需要的题库题目即可。
在线考试答题系统怎么?不建议自己,过程复杂且需要大量的技术支持,借助一个考试考试系统两步就可以轻松组织一场在线答题考试。
您可以看一下轻速云在线考试答题系统是如何快速组织一场答题考试的:
第一步创建题库
导题方式多样,导入试题可以选择随机抽取、手动添加,或者更方便——使用word或Excel一键导入所有题库。试题支持图片题、音频题、视频题
第二步:创建试卷
直接选题组卷、按比例抽题组卷(固定试卷、随机试卷)
最后就可以发布试卷了,试卷发布成功后,会生成二维码、小程序码以及网页链接,考生可以通过任何一种方式进行考试。
以上就是组织一场在线答题考试的全部过程了。
如何使用excel选择题一、调出显示“开发工具”选项卡(方法)
1
单击“开始”=〉“选项”,
2
弹出“Excel选项”对话框,单击“自定义功能区”=〉勾选“开发工具”,然后单击“确定”,
3
完成显示“开发工具”选项卡设置
END
二、制作单项选择题(方法/步骤)
1
题目设计
插入选项按钮:单击“开发工具”选项卡=〉“插入=〉选项按钮(窗体控件
3
当鼠标指针变成细黑十字形,在工作表需要放置选项按钮的位置单击并拖动,即可绘制一个选项按钮。
用同样的方法绘制多个选项按钮,每题绘制4个选项按钮,共12个选项按钮,如图所示:
5
修改选项按钮显示文字并对齐,
6
给选项按钮分组(非常重要),每题选项按钮为一组,否则12个选项只能选中一个,为解决这个问题,本例是共3个试题可分为三组。单击“开发工具”选项卡=〉“插入=〉分组框(窗体控件)
7
当鼠标指针变成十字形时,单击并拖动鼠标框上第1题4个按钮,即可绘制一个分组框。如图所示:
8
用同样的方法为第2题、第3题分别绘制一个分组框,
9
为选项按钮设置链接单元格。第1题,右击“主机、键盘、显示器”按钮,选择“设置控件格式”,
10
弹击“设置控件格式”对话框,在“控制”选项卡的“单元格链接”右侧的文本框中单击,然后用鼠标单击“B2”单元格,单击“确定”,
11
分组框13中,选项按钮全部链接到B2单元格。4个选项按钮,值分别为“1-4”。现选择第1项“主机、键盘、显示器”,B2单元格显示数字“1”。
12
分别为分组框14、分组框15内选项按钮设置“单元格链接”,分组框14里面“选项控件”链接单元格“B7”,分组框15里面“选项控件”链接单元格“B10”,如
13
隐藏分组框的框线,按Alt+F11,打开VBA编辑器,再按Ctrl+G,打开“立即窗口”,在其中输入:ActiveSeet.GroupBoxes.Visile=False,
14
将光标定位在语句末尾后回车,即可隐藏分组框的框线(若要显示框线,只需将命令“False”改为“True”),如
END
三、统计成绩(方法/步骤)
建立标准答案,第1题的标准答案是第3项,在C2中输入3;第2题的标准答案是第4项,在C7中输入4;第3题的标准答案是第2项,在C10中输入2,
2
判断是否得分。在D2中输入表达式“=IF(B2=C2,5,0)”;在D7中输入表达式“=IF(B7=C7,5,0)”;在D10中输入表达式“=IF(B10=C10,5,0)”,
3
隐藏B列和C列,并在D13中建立求和,制作完成,效果
excel题库生成试卷最近在办一系列活动,其中包括一个知识竞赛。
初赛是在线作答的方式,答题系统中,题库通过excel模板导入。
而复赛是线下赛,需要将excel题库输出成word格式进行简单排版。
一道一道的导入不现实,一共有100道题。
于是,学到了word邮件列表的功能。
ttps://sspai.com/post/42219
其格式大概如下
<<>>相当于变量名
序号、题目、选项等是excel中的某一列,可以理解成一系列常数变量,只不过储存在列中。
<
这样就好理解啦。
具体作如下:
1.选择收件人,使用现有列表
2.导入excel文件,选择seet
由于工作要求,本人工作机只能用WPS2013,实测不能导入xlsx,转化成xls可以导入。
3.插入合并域
其实就是插入变量了
4.增加固定字样和格式
加一些中文和标点,或者把变量通过表格框框进行束。
怎么讲excel题目成答题库试题应该不太难,看你的内容是怎么样的了