用VBA编排学生座位表.docx
《用VBA编排学生座位表.docx》由会员分享,可在线阅读,更多相关《用VBA编排学生座位表.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、用VBA编排学生座位表DimfenzuAsIntegerDimirowAsIntegerRange(D2).Select对信息表进行排序,关键字分别为视力、身高、性别#Range(A3:E48).SortKey1:=Range(E3),Order1:=xlAscending,Key2:=Range(_D3),Order2:=xlAscending,Key3:=Range(C3),Order3:=xlAscending删除原有的座位表ForEachshInWorksheetsIf=座位表Then=FalseSheets(座位表).DeleteEndIfNextsh添加名为座位表的新工作表afte
2、r:=Sheets(学生信息)=座位表获取分组数fenzu=InputBox(你想把学生分成几个小组,提示,6)获取学生总人数icount=Worksheets(1).a65536.End(xlUp).Row-2获取每组最多学生人数irow=Int(icount/fenzu)+1按先行后列的顺序提取学生信息表中的学生名单Forn=1ToirowForm=1Tofenzu生成第N组的文字(前面空2行用于显示标题)Worksheets(2).Cells(3,m)=第&m&组Worksheets(2).Cells(n+3,m)=Worksheets(1).Cells(fenzu*(n-1)+m+2,
3、2)NextmNextnMsgBox座位表编排成功,请根据实际情况手工微调!,vbOKOnly+vbInformation,提示err:ExitSubEndSub代码讲明:1为了使编排的座位表愈加合理,我们把视力低的同学尽量往前排,一样视力的同学按身高的高矮顺序排,假如身高又一样则女生排在前面,男生排在后面。2考虑到学生分班后肯定会进行一些调整,所以在生成座位表前首先会检查并删除当前工作簿中原有的“座位表工作表。关闭代码窗口返回Excel工作表中,单击“排座位按钮,系统首先会创立一个名为“座位表的工作表并询问学生的分组数默以为“6组,根据需要输入相应的数字,单击“确定按钮即可看到分组后的学生名单了,然后根据需要进行适当的微调就能够了。“讲台可通过手工插入自选图形来实现,最终的效果如图2所示。需要讲明的是,笔者的座位表是根据本人的编排理念来设计代码的,假如在编排的顺序上要进行调整只需将代码中的三个关键字的字段视力、身高、性别顺序以及对应的升序xlAscending或降序xlDescending关系进行相应的调整就能够了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBA 编排 学生 座位
限制150内