66 •电子技术与软件工程  Electronic Technology & Software Engineering
resize函数vba
软件应用
• Software Application
【关键词】Excel VBA 抽签程序
1 引言
某卫生学校学生在护理技能操作模拟考试前先要进行抽签,根据学校规定的考试项目及题库试题数目抽取相应的题号进行操作考试,这项工作往年都是采用人工抽签,需要耗费很多的人力和时间,然而在抽签过程中难免会出现很多问题。随着信息化技术的不断普及,学校工作也进入了由信息技术替代人工操作的改革性阶段,实现抽签过程信息化、自动化工作迫在眉睫,为此利用Excel 对数据的便捷性,VBA 对数据的交互性设计并实现了该抽签程序。
2 VBA技术
Visual Basic for Applications(VBA)是Visual Basic 的一种新一代标准宏语言,与传统的宏语言不同,传统的宏语言不具有高级语言特征,没有面向对象的程序设计概念和方法,VBA 是以伪代码的形式运行的,它
的功能主要通过模块来实现,同其他面向对象的编程语言一样,VBA 中也有对象、属性、方法和事件。VBA 易于学习,可以使用宏记录用户的操作,并将其转换为VBA 程序代码,是工作自动化。
3 需求分析
某卫生学校在期末进行护理技能操作考试前,每位参加考试的学生需要根据四项考试中题库的总数量随机抽取相应的题号,由于每项操作考试题库数都不相同,而每个班的学生数与总题库数也不相同,学生在随机抽取完一
基于Excel VBA 抽签程序的设计与实现
文/任宇宁
项操作考试的总题库试题后,该题库重新开始
轮询,需要实现前后两名学生生成的四组题号不能完全相同。
4 抽签程序设计与实现
根据需求分析结果,考虑到该抽签程序的实用性和简洁性,使用Excel VBA 实现,分为前台界面和后台代码,前台界面上有抽签按钮,可使用鼠标点击抽签。为方便学生抽签,也可以使用键盘上的空格键完成抽签。前台界面上有清除按钮,实现将生成的题号清空的功能。4.1 前台界面
根据需求分析,前台界面所有按钮将在A1—G6单元格区域中显示,而其余单元格隐藏。因此可以单击选中H 列,按住键盘上
shift 键,在水平滚动条上单击鼠标左键即可将水平滚动条拖动到最后一列,点击选择最后一列,按鼠标右键选中隐藏按钮,将选中的列隐藏。单击选中第7行,按住键盘上shift 键,在垂直滚动条上单击鼠标左键即可将垂直滚动条拖动到最后一行,按鼠标右键选中隐藏按钮,将选中的行隐藏。
选中B1—F1区域单元格,点击菜单栏上的“合并及居中”按钮,输入程序名称“护理技能操作考试抽签程序”。在名称前面点击菜单栏上“插入”-“图片”按钮,到并插入一个医院的logo 图片。选中B2—F5单元格区域添加显示所有框线,输入对应的内容,将生成题号一行文字设置为红。在G 列相应位置处插入
一个矩形,并且添加文字“抽签”设置其文字格式。4.2 后台代码
按键盘上的ALT+F11按键,打开ABE 编辑框,在左侧的工程区域可以看到Excel 对象,在空白位置处点击鼠标右键选择插入按钮添加两个模块窗口。
打开模块1窗口输入以下代码,并将前台“医院logo ”图标指定宏到该段代码,该代码可以实现当点击图标时,生成题号将置为0,抽签次数与题库总数相同,即C4-F4单元格内容与C3-F3相同。
打开模块2输入以下代码,并将前台抽签按钮指定宏到该段代码,当点击开始抽签后,抽签次数累计增加,随机生成题号,当某一项
操作抽签次数和题库数相同时,表明该项操作题库已被抽取一轮,然后重置为1,进行下一轮的抽取。
Sub ren()
If [c4] < [c3] Then [c4] = [c4] + 1 Else [c4] = 1: [h3].Resize([c3]) = GetRnd([c3])
If [d4] < [d3] Then [d4] = [d4] + 1 Else [d4] = 1: [i3].Resize([d3]) = GetRnd([d3])
If [e4] < [e3] Then [e4] = [e4] + 1 Else [e4] = 1: [j3].Resize([e3]) = GetRnd([e3])
If [f4] < [f3] Then [f4] = [f4] + 1 Else [f4] = 1: [k3].Resize([f3]) = GetRnd([f3])
[b7].CurrentRegion.Offset(2) = [b7].CurrentRegion.Offset(1).Value
[b8] = [b8] + 1: [c8] = [c5]: [d8] = [d5]: [e8] = [e5]: [f8] = [f5]
End Sub 4.3 保存程序
在选择保存的文件类型时应该选择“Excel 启用宏的工作簿(.xlsm )”选项,这样再打开文档的时候,宏功能才会启用,否则程序将不能正常运行。
5 总结
随着计算机技术的普及,我们对于Excel 的应用不应仅仅局限于设置单元格格式,插入公式进行计算等基本操作,在遇到需要进行人机交互操作等高级应用时,也可以利用Excel 的高级应用,如本文中的VBA 技术进行处理。
该抽签程序满足学校对学生抽签过程的信息化和便捷化,提升了工作效率,在设计现实过程中也存在一定的缺陷,如没有用到动态数据库,将生成的数据保存起来,对于数据量比较大的情况可能会导致Excel 程序出错、闪退等现象未进行考虑,待以后的设计中加以完善。
参考文献
[1]蒋勇,刘耸,熊彦,朱婧,徐悦.基于
Excel VBA 护士执业考试模拟系统的设计[J].计算机光盘软件与应用,2015(01).
作者单位
山西省吕梁市卫生学校  山西省吕梁市  033000

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。