论文部分内容阅读
公司里,经常会组织各种活动和比赛,它们的共同特点是什么?都需要进行评分!以前评委把分数写在纸上,旁边有人紧张地收分,算分,速度慢不说,还容易出错。于是,我就在Excel 2007中用函数和VBA制作了一个智能电子评分系统(见图1),既提高了比赛的效率,又保证了比赛的公正。
图1
兵马未动,粮草先行
假设有10位驾驶员参加技能比赛,11名评委参与评分。电子评分系统共由13张工作表组成,分别是:系统界面工作表(名称为“JM”)1 份、评委评分工作表11份(名称为1、2……11)、成绩汇总工作表(名称为“CJ”)1份。
首先来添加表格。启动Excel 2007,保存一份“Excel 启用宏的工作簿(*.xlsm)”文档(如dzpf.xlsm)。反复单击窗口下方工作表标签(Sheet3)右侧的“插入工作表”按钮,添加11份空白工作表,并分别双击工作表名称标签,输入新的工作表名称(JM、1、2……11、CJ)。在Excel 2003,可以通过“插入→工作表”命令来添加空白工作表。
图2
小提示:展开菜单取工具
在Excel 2007中,“宏”及VBA的相关功能被集成到“开发工具”菜单中。默认情况下,这个菜单没有被展开,需要简单设置一下。单击左上角的Office logo按钮,在随后出现的下拉菜单中,单击“Excel 选项”按钮,选中左侧的“常用”栏目(见图2),再选中右侧的“在功能区显示‘开发工具’选项卡”选项,确定。
调兵遣将,制作表格
评委评分表:
单击工作表“1”的名称,然后按住“Shift”键,再单击工作表“11”的名称,连续选中1~11工作表,一次性完成11位评委的评分表制作(见图3)。
图3
成绩汇总表:
切换到“CJ”工作表中,仿照图4的表格样式,输入相关的固定字符。分别选中B3~L3单元格,输入公式:='1'!C3……='11'!C3,调用各位评委为第1位选手所评定的分数。同时选中B3:N3单元格区域,用“填充柄”将公式复制到下面的区域中,完成其他选手成绩的统计。
图4
界面工作表:
接下来,切换到“JM”工作表中,仿照图1的表格格式,制作空白界面工作表。
选择“开发工具→控件→插入”按钮,在下拉列表中选择“ActiveX控件”、“命令按钮”选项,拉出一个命令按钮来。右击按钮,选择“属性”选项,通过“Caption”、“Font”、“ForeColor”、“BackColor”等属性选项,分别设置命令按钮的字符(如“评委一”)、字体字号、字符颜色、按钮背景颜色等(见图1)。调整好按钮的大小,并定位到表格的合适位置上。将上述按钮复制11份,并将“Caption”属性分别修改为“评委二”、“评委三”……“裁判长”。最后切换到各位评委工作表(1、2……11)中,同法再为每个工作表添加一个“保存”命令按钮(见图3)。在Excel 2003中,可以通过“视图→工具栏→控件工具箱→命令按钮”来制作相应的命令按钮。
各司其职,“宏”显身手
调用评委工作表的宏
在上述代码编辑窗口中,执行“插入→模块”命令,插入一个模块,并将下列代码输入到右侧的代码编辑区域中,制作出“评委一”(pw1)调用对应工作表(Sheets("1"))的宏:
Sub pw1() '宏名称为pw1
x = InputBox("请输入正确的密码:", "评委身份验证") '弹出一个输入框
If x = "gq1" Then '开始一个判断,如果输入字符(密码)为“gq1”,则执行下述操作:
Sheets("1").Visible = xlSheetVisible '取消工作表“1”隐藏属性
Sheets("1").Select '选中取消属性的工作表“1”
Else
MsgBox "请向裁判长索取正确的密码!", "友情提醒" '如果密码不正确,弹出提示框
Sheets("JM").Select '仍然返回选中“JM”工作表
End If '结束判断
End Sub
修改上述代码中的宏名称、密码字符、工作表名称(Sheets("1")),制作出其他评委调用对应工作表的宏(pw2、Pw3……pw11)。
运行此宏,输入正确的密码才能打开相应的工作表,否则仍然返回“JM”工作表中。
保存并返回界面工作表的宏
Sub bc()
ActiveWorkbook.Save '保存当前工作簿
Sheets("JM").Select '返回选中“JM”工作表
End Sub
调用裁判长工作表的宏
Sub cpz()
x = InputBox("请输入正确的密码:", "身份验证")
If x = "cpz" Then
Sheets("CJ").Visible = xlSheetVisible
Sheets("CJ").Select
Else
MsgBox "密码不正确!", "友情提醒"
Sheets("JM").Select
End If
End Sub
关闭代码编辑窗口返回。这些宏代码能直接应用于Excel 2003中。
修路架桥,合成系统
宏的链接
双击“评委一”按钮,再次进入代码编辑窗口,将宏名称“pw1”输入到两行代码之间(见图5):
图5
Private Sub CommandButton1_ Click() '单击按钮(评委一)
pw1 '单击按钮要运行的宏名称
End Sub
重复上述操作,将界面工作及各个评委工作表中的相应按钮与对应的宏链接起来。之后关闭代码编辑窗口,单击“控件→设计模式”,退出设计状态。
工作簿的共享
保存工作簿文档,切换到“审阅→更改→共享工作簿”按钮(见图6),选中其中的“允许多用户同时编辑,同时允许工作簿合并”选项,确定返回。在Excel 2003,可以通过“工具→共享工作簿”命令来实现。
图6
准确评分,应用拓展
好了,一切就绪,开始应用吧!首先将工作簿文档保存在评委系统局域网上某个共享文件夹中,然后把裁判长的电脑与大屏幕(用投影也可以)连接。各位评委(包括裁判长)通过访问上述共享文件夹,打开电子评分系统工作表簿文档,统一进入界面(JM)工作表中(见图1)。
每位评委单击其中对应的按钮(如“评委一”等),输入对应的密码(见图7),单击“确定”按钮调用相应的宏,进入各自对应的工作表。选手比赛结束后,评委在相应选手对应的单元格(如1号选手对应的C3单元格)中输入评定的分数,然后单击“保存”按钮,保存评分,并返回到“JM”工作表中。重复此操作,为后续选手逐一进行评分。
最后,裁判长单击“裁判长”按钮,输入正确的密码,“确定”后调用相应的宏,进入“CJ”工作表中,执行保存操作,相应选手的成绩及名次马上显示在工作表中,并同时显示到大屏幕上(见图4),非常方便!
利用这个基本框架,添加或删减工作表,并仿照上述操作修改部分字符及公式,还可以制作绩效考核、成绩统计、工资统计等电子表格系统(员工绩效考核的移植应用方案详见电脑爱好者网站http://bbs.cfan.com.cn/forum-134-1.html)。如果你有更新更简单的方法,欢迎共同交流!
图1
兵马未动,粮草先行
假设有10位驾驶员参加技能比赛,11名评委参与评分。电子评分系统共由13张工作表组成,分别是:系统界面工作表(名称为“JM”)1 份、评委评分工作表11份(名称为1、2……11)、成绩汇总工作表(名称为“CJ”)1份。
首先来添加表格。启动Excel 2007,保存一份“Excel 启用宏的工作簿(*.xlsm)”文档(如dzpf.xlsm)。反复单击窗口下方工作表标签(Sheet3)右侧的“插入工作表”按钮,添加11份空白工作表,并分别双击工作表名称标签,输入新的工作表名称(JM、1、2……11、CJ)。在Excel 2003,可以通过“插入→工作表”命令来添加空白工作表。
图2
小提示:展开菜单取工具
在Excel 2007中,“宏”及VBA的相关功能被集成到“开发工具”菜单中。默认情况下,这个菜单没有被展开,需要简单设置一下。单击左上角的Office logo按钮,在随后出现的下拉菜单中,单击“Excel 选项”按钮,选中左侧的“常用”栏目(见图2),再选中右侧的“在功能区显示‘开发工具’选项卡”选项,确定。
调兵遣将,制作表格
评委评分表:
单击工作表“1”的名称,然后按住“Shift”键,再单击工作表“11”的名称,连续选中1~11工作表,一次性完成11位评委的评分表制作(见图3)。
图3
成绩汇总表:
切换到“CJ”工作表中,仿照图4的表格样式,输入相关的固定字符。分别选中B3~L3单元格,输入公式:='1'!C3……='11'!C3,调用各位评委为第1位选手所评定的分数。同时选中B3:N3单元格区域,用“填充柄”将公式复制到下面的区域中,完成其他选手成绩的统计。
图4
界面工作表:
接下来,切换到“JM”工作表中,仿照图1的表格格式,制作空白界面工作表。
选择“开发工具→控件→插入”按钮,在下拉列表中选择“ActiveX控件”、“命令按钮”选项,拉出一个命令按钮来。右击按钮,选择“属性”选项,通过“Caption”、“Font”、“ForeColor”、“BackColor”等属性选项,分别设置命令按钮的字符(如“评委一”)、字体字号、字符颜色、按钮背景颜色等(见图1)。调整好按钮的大小,并定位到表格的合适位置上。将上述按钮复制11份,并将“Caption”属性分别修改为“评委二”、“评委三”……“裁判长”。最后切换到各位评委工作表(1、2……11)中,同法再为每个工作表添加一个“保存”命令按钮(见图3)。在Excel 2003中,可以通过“视图→工具栏→控件工具箱→命令按钮”来制作相应的命令按钮。
各司其职,“宏”显身手
调用评委工作表的宏
在上述代码编辑窗口中,执行“插入→模块”命令,插入一个模块,并将下列代码输入到右侧的代码编辑区域中,制作出“评委一”(pw1)调用对应工作表(Sheets("1"))的宏:
Sub pw1() '宏名称为pw1
x = InputBox("请输入正确的密码:", "评委身份验证") '弹出一个输入框
If x = "gq1" Then '开始一个判断,如果输入字符(密码)为“gq1”,则执行下述操作:
Sheets("1").Visible = xlSheetVisible '取消工作表“1”隐藏属性
Sheets("1").Select '选中取消属性的工作表“1”
Else
MsgBox "请向裁判长索取正确的密码!", "友情提醒" '如果密码不正确,弹出提示框
Sheets("JM").Select '仍然返回选中“JM”工作表
End If '结束判断
End Sub
修改上述代码中的宏名称、密码字符、工作表名称(Sheets("1")),制作出其他评委调用对应工作表的宏(pw2、Pw3……pw11)。
运行此宏,输入正确的密码才能打开相应的工作表,否则仍然返回“JM”工作表中。
保存并返回界面工作表的宏
Sub bc()
ActiveWorkbook.Save '保存当前工作簿
Sheets("JM").Select '返回选中“JM”工作表
End Sub
调用裁判长工作表的宏
Sub cpz()
x = InputBox("请输入正确的密码:", "身份验证")
If x = "cpz" Then
Sheets("CJ").Visible = xlSheetVisible
Sheets("CJ").Select
Else
MsgBox "密码不正确!", "友情提醒"
Sheets("JM").Select
End If
End Sub
关闭代码编辑窗口返回。这些宏代码能直接应用于Excel 2003中。
修路架桥,合成系统
宏的链接
双击“评委一”按钮,再次进入代码编辑窗口,将宏名称“pw1”输入到两行代码之间(见图5):
图5
Private Sub CommandButton1_ Click() '单击按钮(评委一)
pw1 '单击按钮要运行的宏名称
End Sub
重复上述操作,将界面工作及各个评委工作表中的相应按钮与对应的宏链接起来。之后关闭代码编辑窗口,单击“控件→设计模式”,退出设计状态。
工作簿的共享
保存工作簿文档,切换到“审阅→更改→共享工作簿”按钮(见图6),选中其中的“允许多用户同时编辑,同时允许工作簿合并”选项,确定返回。在Excel 2003,可以通过“工具→共享工作簿”命令来实现。
图6
准确评分,应用拓展
好了,一切就绪,开始应用吧!首先将工作簿文档保存在评委系统局域网上某个共享文件夹中,然后把裁判长的电脑与大屏幕(用投影也可以)连接。各位评委(包括裁判长)通过访问上述共享文件夹,打开电子评分系统工作表簿文档,统一进入界面(JM)工作表中(见图1)。
每位评委单击其中对应的按钮(如“评委一”等),输入对应的密码(见图7),单击“确定”按钮调用相应的宏,进入各自对应的工作表。选手比赛结束后,评委在相应选手对应的单元格(如1号选手对应的C3单元格)中输入评定的分数,然后单击“保存”按钮,保存评分,并返回到“JM”工作表中。重复此操作,为后续选手逐一进行评分。
最后,裁判长单击“裁判长”按钮,输入正确的密码,“确定”后调用相应的宏,进入“CJ”工作表中,执行保存操作,相应选手的成绩及名次马上显示在工作表中,并同时显示到大屏幕上(见图4),非常方便!
利用这个基本框架,添加或删减工作表,并仿照上述操作修改部分字符及公式,还可以制作绩效考核、成绩统计、工资统计等电子表格系统(员工绩效考核的移植应用方案详见电脑爱好者网站http://bbs.cfan.com.cn/forum-134-1.html)。如果你有更新更简单的方法,欢迎共同交流!