第七章学生成绩报告单 及成绩分析模板 71设计目标 72成绩报告表 73成绩分析表 结束
第七章 学生成绩报告单 及成绩分析模板 ➢ 7.1 设计目标 ➢ 7.2 成绩报告表 ➢ 7.3 成绩分析表 结束
71设计目标 本应用实例的设计目标是:利用Excl工作簿,以高校的系为单位 将任意年级任意课程的成绩报告表和成绩统计分析输入、生成、存储、 打印、传送,实现学生成绩管理的微机化,为网络化管理打下基础。稍 加修改,可用于其它各级各类学校的学生成绩管理 对于成绩报告表,利用事先做好的模板,只需输入每位学生的成绩, 系统将成绩自动按档次定位,使各分数段成绩一目了然。如果是考查成 绩,输入字母a、b、c、d、e,系统自动转換为汉字“优秀” 良好” “中等”、“及格”、“不及格”。单击“统计”按钮,系统自动统计 出全班的实考人数、各分数段人数、平均分、筛淘率并填入表格。 对于成绩分析,在已有表格框架的基础上,单击“统计”按钮,系 统自动对全年级所有班统计出实考人数、各分数段人数、百分比,求出 最高分、最低分、平均分,画出成绩分布曲线图 模板工作簿主要包含“成绩报告表”工作表(每班一个)和“成绩 分析”工作表(整个年级一个)。 返回
7.1 设计目标 本应用实例的设计目标是:利用Excel工作簿,以高校的系为单位, 将任意年级任意课程的成绩报告表和成绩统计分析输入、生成、存储、 打印、传送,实现学生成绩管理的微机化,为网络化管理打下基础。稍 加修改,可用于其它各级各类学校的学生成绩管理。 对于成绩报告表,利用事先做好的模板,只需输入每位学生的成绩, 系统将成绩自动按档次定位,使各分数段成绩一目了然。如果是考查成 绩,输入字母a、b、c、d、e,系统自动转换为汉字“优秀”、“良好”、 “中等”、“及格”、“不及格”。单击“统计”按钮,系统自动统计 出全班的实考人数、各分数段人数、平均分、筛淘率并填入表格。 对于成绩分析,在已有表格框架的基础上,单击“统计”按钮,系 统自动对全年级所有班统计出实考人数、各分数段人数、百分比,求出 最高分、最低分、平均分,画出成绩分布曲线图。 模板工作簿主要包含“成绩报告表”工作表(每班一个)和“成绩 分析”工作表(整个年级一个)
72成绩报告表 每个班级的每门课需要一个成绩报告表 (或称成绩单),如果按年级和课程定义 工作簿,那么,工作簿中每个班对应一个 工作表。为便于程序控制,各成绩报告表 分别命名为“表1”“表2”,…。各班的 成绩报告表除了标题、学号、学生姓名不 同外,表的框架结构和统计方式都相同, 因此,我们只要设计出一个工作表,其余 的就可以复制产生
7.2 成绩报告表 每个班级的每门课需要一个成绩报告表 (或称成绩单),如果按年级和课程定义 工作簿,那么,工作簿中每个班对应一个 工作表。为便于程序控制,各成绩报告表 分别命名为“表1”“表2”,……。各班的 成绩报告表除了标题、学号、学生姓名不 同外,表的框架结构和统计方式都相同, 因此,我们只要设计出一个工作表,其余 的就可以复制产生
72.1工作表设计 765rU 722工作表的复制和命 名 7.23工作簿代码设计 72.4“统计”按钮代码设 72.5运行结果 逐回
7.2.1 工作表设计 7.2.2 工作表的复制和命 名 7.2.3 工作簿代码设计 7.2.4 “统计”按钮代码设 计 7.2.5 运行结果 返回
进入E,建豆一个工作赞。 定改纸型、设置表糌样式、设置单元 格式、设置列宽度、设置行高度。 在“工具摆”但意笸置右击,打升 “控件工具栏”,在“控件工具捏”中这 擀“命令按钮”,在成嘏告表的右侧 (页边线外)适当篮置单击,建立一个命 令按钮,右击新缝的按钮,在快捷墓单中 这“属惟”项,将C4tm属性设置为“统 计”,并设置字体、字号、颜色和大小。 求
进入Excel,建立一个工作簿。 定义纸型、设置表格样式、设置单元 格式、设置列宽度、设置行高度。 在“工具栏”任意位置右击,打开 “控件工具栏”,在“控件工具栏”中选 择“命令按钮”,在成绩报告表的右侧 (页边线外)适当位置单击,建立一个命 令按钮,右击新建的按钮,在快捷菜单中 选“属性”项,将Caption属性设置为“统 计”,并设置字体、字号、颜色和大小
在设计好的工作表各成偾报告表分别命名 选项卡上右齿,选 为“表“表E ,。"O 移动或复制工作 整个工作簿用年级 表”,然后选中“建 和课程命名。如:成 立副本”,位置迄 单00导论、成绩单9 “移至最后”,单击 字逻辑,可分别用 确定”按钮。 来表示20级“计算机 可同时这中多个工科学导论”课、199级 作表进行复制。既按 数字逻辑”课的成 任m或Sh键,再单 偾单工作簿。 击工作表这择卡。 为便于程序控制 菜
在设计好的工作表 选项卡上右击,选 “移动或复制工作 表”,然后选中“建 立副本”,位置选 “移至最后”,单击 “确定”按钮。 可同时选中多个工 作表进行复制。既按 住Ctrl或Shift键,再单 击工作表选择卡 。 为便于程序控制 各成绩报告表分别命名 为“表1”“表2” ,……。 整个工作簿用年级 和课程命名。如:成 绩单00导论、成绩单99 数字逻辑,可分别用 来表示2000级“计算机 科学导论”课、1999级 “数字逻辑”课的成 绩单工作簿
为了在各“成绩报告表”中输入学生成绩时,系统能自动按档次定位, 使各分数段成绩直观明了,时,对考套成绩,输A字a、bC、d 系统自动转换为汉字“优秀 好 中等”、“及格 不及 格”。我们可以对工作薄的 Shortchange件编程。 Sheetchangu在任意一个 工作表的内容改变时发生。 在菜单”工具/宏”中选“ sual basic缩器”,迸入WBE,单击“工程 资源管理器”按鈕,双击“ is Workbook"模块,打开代码编辑窗口 在菜单“工具/宏”中选“ Visual basic编辑器”,进入VBE,单去“工程 资源管理器”按紐,双击“hsWoκ bOok"模块,打开代码编窗口。 对工作簿 Workbook的 SheetChange事件编写具体代码。 以上代码段首先求当出前工作表名,并根据当前单元格地址,求出列 字母和行号。如果是C列或F列(即成绩列),则取得当前单元格的值,值 有前早空格,说明已转换处理完,不厚处理。否则,对考查课成绩(互 级分制),将A、B、C、D、E转换为汉字“优秀 良好”、“中 及格 不及格”,并分别指定前异空格数1、6、12、18、24,对考 试课成绩(百分制),直接根据分数段指定前空格数1、8、16、24、32。 最后重新按格式填写成绩
为了在各“成绩报告表”中输入学生成绩时,系统能自动按档次定位, 使各分数段成绩直观明了,同时,对考查成绩,输入字母a、b、c、d、e, 系统自动转换为汉字“优秀”、“良好”、“中等”、“及格”、“不及 格”。我们可以对工作簿的SheetChange事件编程。SheetChange在任意一个 工作表的内容改变时发生。 在菜单“工具|宏”中选“Visual Basic编辑器”,进入VBE,单击“工程 资源管理器”按钮,双击“ThisWorkBook”模块,打开代码编辑窗口。 在菜单“工具|宏”中选“Visual Basic编辑器”,进入VBE,单击“工程 资源管理器”按钮,双击“ThisWorkBook”模块,打开代码编辑窗口。 对工作簿Workbook的SheetChange事件编写具体代码。 以上代码段首先求当出前工作表名,并根据当前单元格地址,求出列 字母和行号。如果是C列或F列(即成绩列),则取得当前单元格的值,值 有前导空格,说明已转换处理完毕,不再处理。否则,对考查课成绩(五 级分制),将A、B、C、D、E转换为汉字“优秀”、“良好”、“中等”、 “及格”、“不及格”,并分别指定前导空格数1、6、12、18、24,对考 试课成绩(百分制),直接根据分数段指定前导空格数1、8、16、24、32。 最后重新按格式填写成绩
每各成绩单工作表中都定义了一个“统计”命令按钮 默认名为 CommandButton,单击命令接钮,产生Cck事 件,通过下面代码调用圠过程,完成统计功能。 Private Sub Command Button1 Click Ctj'调用统计子程序 End sub 在∨BE中选“插入|模块”菜单,插入“模块1”,在 “模块1”中定义一个过程圢并编写具体代码。 在过程饥中,首先定义实考人数、优秀人数、良好人 、中等人数、及格人数、不及格人数和分教合计变量并 置初值。然后用双重循环,对C列、F列,5行到39行,取 出各单元格值,如果是有效的成绩(不空并且最左边的5 个字符不是“实考人数”),则先将考查課成绩折合百分 制,再按分数段累加人数,最后,将统针结果填入特定的 单元格。为防止求“平均分”和“筛淘率”出错 当实考 人款为零时,将其赋予一个非零值(这里用¨99)
每各成绩单工作表中都定义了一个“统计”命令按钮, 默认名为CommandButton1,单击命令按钮,产生Click事 件,通过下面代码调用tj过程,完成统计功能。 Private Sub CommandButton1_Click() Call tj '调用统计子程序 End Sub 在VBE中选“插入|模块”菜单,插入“模块1”,在 “模块1”中定义一个过程tj并编写具体代码。 在过程tj中,首先定义实考人数、优秀人数、良好人 数、中等人数、及格人数、不及格人数和分数合计变量并 置初值。然后用双重循环,对C列、F列,5行到39行,取 出各单元格值,如果是有效的成绩(不空并且最左边的5 个字符不是“ 实考人数”),则先将考查课成绩折合百分 制,再按分数段累加人数,最后,将统计结果填入特定的 单元格。为防止求“平均分”和“筛淘率”出错,当实考 人数为零时,将其赋予一个非零值(这里用“99”)
合●● 学生考试考查成绩报告表 假如当前工作表是 20002001学年 计算机_系算机应用专业20005班 机科学乎论课考_。成绩 学号郏名 计算机系计算机应用 000246学生36 008212】学生28 10032学生37 专业2000级5班” 008213学生391 0024学生 66 215学生5 计算机科学导论”课 0002学生6 60 008217学生7 008218 2000-2001学年第 0092】学生9 0082学生10 学期”的成绩报告表。 0008221 0022学生12 在已经输入了学号、姓 00822生13 0022学生15 名和标题等信息的前提。 68 下,输入学生成绩,系 008230学生20 统自动按分数段排列 00022学生21 008232 0083学生23 单击“统计”按钮,自 000234学生24 生2585 考人数 实考人数 动将统计结果。得到如 0002学生26 旷考人 008237学生27 缺考人数〈病缺人 00028学生28 事假人 图所示的表格。 0003学生29 其中:九十分以上(优)3人 0024学生30 八十至八十九分(良)5人 七十至七十九分(中)8人 008242 六十至六十九 0084学生33 六十分以下(不及格)8人 00024学生3485 平均分:67.84筛淘率:21.05% 学生359 系主任签字 教研室主任签字 教师签字 日
假如当前工作表是 “计算机系计算机应用 专业2000级5班” 、 “计算机科学导论”课、 “2000-2001学年第一 学期”的成绩报告表。 在已经输入了学号、姓 名和标题等信息的前提 下,输入学生成绩,系 统自动按分数段排列, 单击“统计”按钮,自 动将统计结果。得到如 图所示的表格。 菜单
73成分析表 7.31工作表设计 1.32“统计”按短代码设计 7.3.3运行结果
7.3 成绩分析表 7.3.1 工作表设计 7.3.2 “统计”按钮代码设计 7.3.3 运行结果