应用VBA轻松编排考试试场.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
应用VBA轻松编排考试试场   【摘要】为了防止学生考试时作弊,有利于班级的管理和教学,本文结合自己的工作经验总结出了一种科学合理地安排考试试场的方法,每次考试编排试场时考生单人单桌,考生座位随机编排,而且前后座位不是同班的同学,同时打印出贴在试场桌子的考生标签。   【关键词】随机函数;四舍五入函数;VBA代码;主要关键字;排序   为了尽量防止考生考试时作弊,得到考生比较的真实的成绩,每次考试学校都要求编排试场时学生单人单桌,而且前后座位不能是同班的同学,同时打印出贴在试场桌子的考生标签。为此笔者在Excel中用VBA代码轻松实现了学校的要求。   一、试场安排表的设置   试场安排表设有“班别”、“人数”、“桌子数”、“试场”、“考生人数”共五列,由于我校是俩学生同坐一张课桌,可以利用四舍五入函数取得桌子数:ROUND(B2/2,0),根据桌子数安排考生人数。   二、贴班级教室表的设置   贴班级教室表即是学生考试时所在试场的去向表,按“试场”、“考号”、“班级”、“姓名”、“性别”、“随机数”设计字段,利用随机函数RAND()获得随机数,原始表可以不按班级连续存放考生记录,代码中含有按班级排序程序段。   三、编排试场的设计思路及代码   1、思路:分别以随机数和班级为关键字段进行排序,确保每次考生座位随机编排,为了防止前后座位是同班的同学,以人数最多的班级为准先给“贴班级教室”表中的考号赋临时值,按照先排奇数考号再排偶数考号,然后按“考号”字段排序,即可实现同一个班的考生的考号不连续。最后根据“试场安排表”的顺序给考生赋连续的考号和对应的试场教室。   2、代码:   (1)右击工作表标签,在出现的快捷菜单中单击“查看代码”,打开代码设计窗口。   (2)在代码窗口中执行命令“插入/模块”,插入模块1。   (3)录入代码如下:   Sub Macro1()   Application.ScreenUpdating = False   Dim i As Integer ’定义整型变量用于循环操作   Dim j As Integer ’定义整型变量给“贴班级教室”表中的考号赋临时值   Dim n As Integer ’定义整型变量给“贴班级教室”表中的考号赋值   Dim k As Integer ’定义整型变量定位写入的单元格   Dim mj As Integer ’定义整型变量输入人数最多的班级的人数   Dim row1 As Integer ’定义整型变量存放“试场安排”表的行数   Dim row2 As Integer ’定义整型变量存放“贴班级教室”表的行数   Dim y As Integer ’定义整型变量存放“试场安排”表中考生人数   Dim c As String ’定义字符串变量存放“试场安排”表中试场教室   Dim s As String ’定义字符串变量存放按考号进行排序时的右下角单元格标记   ’以下代码分别以随机数和班级为关键字段进行排序   Sheets(贴班级教室).Select   row2 = Sheets(贴班级教室).[a1].CurrentRegion.Rows.Count   s = F + Trim(Str(row2))   Range(A1).Select   Range(A2: + s).Sort Key1:=Range(F2),Order1:=xlAscending,Header:= _   xlGuess,OrderCustom:=1,MatchCase:=False,Orientation:=xlTopToBottom,_   SortMethod:=xlPinYin,DataOption1:=xlSortNormal   s = E + Trim(Str(row2))   Range(A1).Select   Range(A2: + s).Sort Key1:=Range(C2),Order1:=xlAscending,Header:= _   xlGuess,OrderCustom:=1,MatchCase:=False,Orientation:=xlTopToBottom,_   SortMethod:=xlPinYin,DataOption1:=xlSortNormal   ’以下代码用于在“贴班级教室”表中给各班级考生的考号赋临时值   mj = InputBox(请输入人数:,人数最多的班级)   For k = 2 To row2   ’以下代码给考号赋奇数值   j = 1   Do While j = mj ’此次考试中人数最多的班级为mj人

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档