本站小编为你精心准备了Excel软件在高校教务管理中的应用参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
《办公自动化杂志》2015年第三期
一、excelVBA基本知识
1、条件控制语句条件控制语句就是根据一定的条件,控制程序的走向。最通俗的说法就是当满足某个条件时执行某段程序,否则执行另一段程序。最基本的条件控制语句是If…Then…Else。该语句的具体格式如下。其中,条件就是布尔类型的变量,如果条件为true,就执行语句块1,否则执行语句块2。条件控制语句的语法规则跟我们语言中的“如果…就…否则…”本质上是一样的,都是根据一定的条件决定后续的工作。为了满足一些复杂情况的需要,我们还可以对条件控制语句进行嵌套使用。嵌套使用方法与Excel中的If函数使用基本一致,这里就不再赘述。
2、循环控制语句循环结构是用于处理重复执行的结构,可以重复执行若干条语句。循环结构是程序设计中经常遇到的程序机构,也是使用最多的程序结构之一。VBA中循环结构也有许多种,但最基础也是使用最频发的就是For…Next循环结构,其基本语法如下:For计数器=初始值To终止值语句块Next计数器所谓计数器其实就是一个整型变量。程序根据该变量的取值范围控制语句块的执行次数。对于Excel表格来说,最常见的循环范围就是表格所有行。到目前为止,我们介绍了VBA中的变量、条件控制语句和循环控制语句。下面,我们会利用这三种VBA基本语法规则实现高效教务工作中最常见的高校教师工作量统计计算。由于高校不同院系之间,同一院系不同专业之间存在授课的交叉情况,这就为教师工作量统计带来了一定的困难。许多情况下,单纯利用Excel提供的函数很难一步到位的完成统计工作。下面一节,我们会根据一个实际的数据展示如何利用VBA实现这一计算。
二、利用VBA实现高校教师工作量重复课系数计算
高校教师工作量统计是衡量教师每学期工作的基础,直接影响了教师的各项评定。其中,由于教师上课的复杂性,重复课系数的计算很难直接套用Excel提供的函数直接完成。图2为某高校某学院教师教学真实统计信息。该数据有如下几个特点:●某些教师负责同一班级的多门课程;●某些教师负责不同班级的同一门课程;●某些教师负责不同班级的不同课程;●此外,每一门课程的选课人数也影响着教师工作量的计算。根据该高校学院的规定,一位教师工作量重复课系数计算规则如下。1、如果该教师只为一个班级教授一门课,那么该门课的重复课系数为1.0;2、如果该教师为2到4个班级教授同一门课,根据选择该门课的学生人数进行设置该门课的重复课系数:对于人数最多的班级,该门课的重复系数设为1.0;剩下的其他班级这门课系数设为0.9;3、如果该教师教授这门课的班级超过4个,根据不同班级的选课人数,挑选出选课人数最少的三个班级并把这些班级重复课系数设为0.9,剩下的其他课程设为1.0。从这三个基本计算规则我们很容易发现,由于教师授课情况的复杂,利用Excel集成的函数很难完成教师重复课系数的计算。在这种情况下,多数高校教务人员不得不采用手动计算的方法。很明显,手动计算效率底下且容易出错,出了问题也很难找到进行修正。其实利用VBA可以很轻松的完成该计算过程。只要简单利用本文上面提到的条件控制语句和循环控制语句,结合一定的逻辑判断即可完成。具体代码如表1所示。如表所示,该代码一共有35行。看起来代码很多,其实代码中有很多代码块是非常相似的,只要理解其中一小部分代码的含义,即可了解整个代码的运行机制。整个高校教师工作量重复课系数计算流程就是:(1)在该Excel工作表中队选课人数按照从大到小的顺序进行排序;(2)点击VBA代码窗口中的运行按钮(如图3红色区域所示),执行该段代码,重复课系数即可自动计算出来并添加到相应的单元格中。下面我们对该段代码的具体含义做个简单的介绍。
表1重复课系数计算代码该段代码共35行,第1行代码“Subcompute()”和第35行代码“EndSub”是该代码段的标识。由于一个表格可能需要多种代码满足不同的计算需求,这就需要一定的方法用来标注不同的代码段。其中Sub标识符后边的名字,用户可以根据自身的需要自由命名。第2行代码用来声明三个变量,用于后续的计算。第3行代码是获取该Excel表格的所有行数,为了去掉标题行我们对获取的行数减1。从第4行代码到第34行代码是一个本文在前面介绍到的循环控制语句,对该表格所有行数据进行逐一计算。第5行到第33行代码是一个条件控制语句,用来判断当前进行计算的行是否已经计算过,如果没有计算过则进行后续处理,否则直接跳到下一行数据再次判断。第7行代码直接调用Excel集成的Match函数计算整个表格中与当前行的任课教师和课程相同的行数数量。从第8行到第33行代码根据得到的满足条件的行的数量进行分别处理:(1)如果第8行If语句判断为1,则直接执行第9行语句,直接在对应的单元格赋值为1.0;(2)如果第8行If语句判断失败,则表明满足条件的行数大于1,调用第11行到第32行的条件判断语句进行处理;(3)调用代码第11行判断满足条件的行数是否在2-4之间,如果满足则调用第12到底20这段循环代码对相应单元格进行赋值。由于事先已经对表格按照选课人数进行排序,所以只要对第一个满足条件的行的重复课系数设为1.0,其他设为0.9;(4)如果第11行语句判断行数大于4,则执行第22到第30这段循环控制语句代码,挑选出选课人数最少的三行,设置其重复课系数为0.9,其他行设为1.0。这段代码看似复杂,其实有许多功能相近的子块,如第12到第20代码块和第22代码块到第30代码块。这些相似代码块由条件控制语句控制其执行流程。
三、小结
VBA包含了数量众多变量类型及许多不同种类的控制语句。但只要我们掌握了其中几种最基本的语法规则就可以完成看似复杂的运算,弥补Excel集成的函数在应用灵活上的不足,极大提高广大高校教务员的工作效率。
作者:冯陈芙单位:台州学院