基于Excel VBA的考勤表自动生成程序

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:chrisl0708
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:学校各班进行周末留校学生统计时,普遍存在统计过程烦琐、不易修改及考勤表信息错漏率高等问题。为解决这类问题,使用Excel VBA语言编写了考勤表自动生成程序,实现了留校统计过程的简化及考勤表制表过程的全自动化,有效提高了考勤统计工作的效率及规范性。
  关键词:考勤表;统计界面;自动生成;算法选择;Excel;VBA
  中图分类号:TP311 文献标识码:A
  文章编号:1009-3044(2019)08-0040-02
  1 程序设计背景
  笔者所在学校实行双周自愿留校制度,每次留校前要求各班统计留校学生并分别打印上交男、女生考勤表。惯例上,各班负责人需将申请留校的学生及其信息统计后逐个键入考勤表。这一过程的突出问题表现为填表效率低、易忘记修改周数,且有学生欲变更留校时不便于改动。若能依托各班教室内配备的多媒体计算机,直接在计算机上完成统计工作并把制表工作交由计算机自动完成,则可大幅度优化工作流程、提高工作速度与灵活性,减轻各班负责人的工作负担,同时增强考勤表的规范性,具有一定的现实意义。为此,设计了基于Excel VBA语言的考勤表自动生成程序。
  2 程序分析
  本程序需要整合留校学生统计与考勤表自动生成这两项功能,分别由统计程序与考勤表生成程序实现。班级花名册被嵌入程序所在工作表作为统计程序界面(图1),使用者只需在多媒体的触摸屏上单击欲留校者的姓名,相应单元格即被填充颜色,表示已被记录;当学生临时决定取消留校时,只需再次单击对应单元格即可。统计完毕后,在操作界面上填写并确认周数等信息,按下“生成考勤表”按钮,考勤表生成程序即根据统计信息自动输出格式统一的考勤名单。
  3 程序设计
  3.1 统计程序的设计
  统计程序的记录功能由工作表SelectionChange事件触发。此事件中,程序仅仅完成单元格填充颜色的更改,而不涉及留校人数计算等其他工作,可提高执行速度。由于针对男、女生的事件代码只存在调用列号之间的差异,故下面只给出针对男生一列的程序代码:
  Private Sub Worksheet_SelectionChange(ByVal Current As Range)
  Dim C As Integer, R As Integer
  Sheets("花名册(主程序)").Activate
  C = Current.Column ‘获取当前选区的行、列号
  R = Current.Row
  Select Case C
  Case Is = 2 ‘选择男生所在列时继续执行
  If 1 < R And R <= Boys Then‘防止选出花名册区域;其中Boys变量为程序数出的男生总人数
  If Current.Interior.Color = RGB(102, 255, 51) Then
  Current.Interior.ColorIndex = xlNone
  Else
  Current.Interior.Color = RGB(102, 255, 51)
  End If
  ActiveSheet.[L3] = Current.Text ‘在单元格中用大号字体显示所选学生,该学生看到后就座
  ActiveSheet.[Q3] = "√"
  ActiveSheet.[L10] = "请坐下!"
  Else
  MsgBox "请点击要改动的学生姓名!", vbExclamation, "选择范围错误"
  End If
  End Sub
  3.2 考勤表生成程序的设计
  3.2.1 数据整理传递算法的选择
  由于所统计的学生在縱列上往往是不连续的(参见图1),因此将以填充颜色方式记录的学生信息传递到模板考勤表中时,不能直接使用粘贴方法,而需要设计一定的算法进行数据的连续化整理再进行传递。最初设计时,提出了如下两种可行的数据整理传递算法:
  为选出运行效率最高的算法,针对这两种算法分别进行了运行耗时测试。由于在VBA开发环境中无法直接对单次运行精确计时,本测试采用了While循环将每种算法重复执行多次并通过MsgBox函数返回精确到秒的总运行时间。其测试结果如表1所示。
  由测试结果可见,算法B运行效率远高于算法A。又考虑到算法B可减少工作表切换时的闪屏现象,故程序选择算法B进行数据的整理与传递。
  3.2.2 界面与代码设计
  考勤表生成程序的操作界面如图3所示。使用者确认考勤表关键信息后,按下按钮程序即生成考勤表。文本框内的信息在首次输入后将保持不变,周号信息可通过SpinButton控件快速更改,方便同一班级连续使用。
  下面展示的是程序核心控件“生成考勤表”按钮的Click事件对应代码。同样地,由于整理传递男、女生信息的算法代码十分相似,故仅给出处理男生信息的相应代码。
  Private Sub CommandButton1_Click()
  Dim ConfB As Integer, ConfG As Integer ‘变量用于确定留校的男、女生人数
  Dim BoyName() As String, BoyDorm() As String, GirlName() As String, GirlDorm() As String
  ‘声明算法中调用的动态字符串数组
  For BC = 1 To Boys – 1 ‘进入算法B第一个循环结构
其他文献
正交试验结果表明,将常规次氯酸盐多段漂的温度提高至70℃,严格控制漂白条件,可以制得满足配抄新闻纸要求的半漂硫酸盐木浆。本文提供了实验室条件下的最佳漂白条件及回归方程。
黑龙江造纸厂自1995年9月选用CS-910系列双回路调节器部分代替原有进口的FISHER-PORTER单回路调节器用于蒸发器的控制,至1996年7月已由其取代全部进口调节器。经过两年多的运行,
1大力推广优质高效的西瓜良种在西瓜生产中把推广种植优质、高效、市场销路好的优良品种作为提高经济效益的重要措施来抓。优良的品种是夺取西瓜高产高效的保证。在推广种植
森田尼葡萄属欧亚种,又名无核白鸡心、世纪无核、青提。原产美国加利福尼亚大学农业实验站,是由H&#183;P&#183;Olmo于1966年用Gold&#215;Fzdi(Emperor&#215;Pirovam75)杂交培育成
从理论上推证了 :对小面积测区 ,在确保一定精度要求的情况下 ,不作坐标转换 ,直接将地面上任意两点在WGS - 84坐标系中的坐标差 ,视为北京 - 5 4坐标系中对应两点的坐标差时 ,GPS网基线布设的有关问题 ;并对我国范围内不同测区GPS网坐标变换的问题进行了计算分析 ,其结果可以作为建立GPS局部工程控制网的参考。
广西园艺学会第八次会员代表大会于2009年11月6日在南宁市隆重召开,出席大会的代表及专家共75人,会议审议通过了方锋学同志代表七届理事会所作的《坚持科学发展观,加强园艺科学
介绍了相空间重构技术以及混沌吸引子的关联维数的计算方法,阐述了基于混沌吸引子的特性基础上的预测原理及预测模型,指出了已有预测模型的不足,提出改进意见并给出具体算法.
简述碳酸钙在造纸工业中应用的分类及其生产加工方法和产品质量技术指标。测定方法以及造纸工业中应用的有关技术要求,旨在使碳酸钙生产加工方法以适应造纸工业的需要。
大果甜杨桃是重要的热带、亚热带水果,生长快,结果早,一年多次开花结果,果质优,爽脆多汁,深受群众喜爱。随着人们生活水平及观赏水平的提高,盆栽甜杨桃越来越得到人们的青睐。许多人