一键分析统计学生成绩及生成排好版的全年级排名表与各.doc
《一键分析统计学生成绩及生成排好版的全年级排名表与各.doc》由会员分享,可在线阅读,更多相关《一键分析统计学生成绩及生成排好版的全年级排名表与各.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一键分析统计学生成绩及生成排好版的全年级排名表与各班表可在分析统计各科平均分及年级平均分并生成(年名表与班名表)统计基础:各单科成绩按本身降序排列取前N名 或 各班成绩按总分降序排列取前N名(包括与第N名相同总分) *(不用手动排序,排名,在模板上点“统”一键生成)xel7000自动化工具.xla 模块代码:(模板与对应源表放在同一文件夹打开会自动取得数据,工具加载宏 加载.xla)Option ExplicitPublic Sub 每类一页() 前提是排好类别,每班1页,按性别2页 Application.ScreenUpdating = False On Error Resume Next
2、Dim a, srange As Range, fvalue As String, c, d, fFlag, ss, i, n, p As Integer, rend, j As Long, _ sCol As Long, StartRow As Long, EndRow As Long, sc As Single 找到分类依据* fvalue = InputBox(请输入分页依据的类别, 类别, 班级) If Len(fvalue) = 0 Then Exit Sub For Each a In Intersect(Rows(1:4), ActiveSheet.UsedRange) If S
3、trComp(a.Value, fvalue, vbTextCompare) = 0 Then a.Select fFlag = 1 c = a.Row d = a.Column MsgBox 查找成功 End If Next If fFlag 1 Then MsgBox 找不到包含【 & fvalue & 】的字段单元格。: Exit Sub 冻结并设置顶端标题行* Rows(1: & c).Font.Bold = True With ActiveSheet.PageSetup .PrintTitleRows = $1:$ & c .PrintTitleColumns = End With
4、Rows(c + 1).Select ActiveWindow.FreezePanes = True 原稿处理* ActiveSheet.Cells.Font.Size = 12 Call 原稿处理按类分页*选取要分类的列 rend = ActiveSheet.Cells.Find(*, , xlValues, , xlByRows, 2).RowSet srange = Range(Cells(c + 1, d), Cells(rend, d)按类分页On Error Resume NextActiveSheet.ResetAllPageBreaksn = 1sCol = srange.Ce
5、lls(1, 1).ColumnStartRow = srange.Cells(1, 1).RowEndRow = StartRow + srange.Rows.Count - 1For j = StartRow To EndRow - 1 If StrComp(Cells(j, sCol), Cells(j + 1, sCol), vbTextCompare) 0 Then Cells(j, sCol) Cells(j + 1, sCol) Then n = n + 1 要缩放的页数 ActiveSheet.HPageBreaks.Add Before:=Cells(j + 1, sCol)
6、 ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(j + 1, sCol) End IfNext jss = 100缩放掉多余自动分页符*For i = 100 To 10 - 1 p = ExecuteExcel4Macro(Get.Document(50) If p = n Then Exit For If ActiveSheet.PageSetup.Zoom = 10 Then ActiveSheet.PageSetup.Zoom = 100: MsgBox 无法完成缩放,已恢复到100%缩放比例! ss = Activ
7、eSheet.PageSetup.Zoom - 1 ActiveSheet.PageSetup.Zoom = ssNext缩放的看不清(极限)If (Rows(c + 1).Height) * ss 0 Then If ch Then Rows(j).ClearContents 有“A”的暂坐生不分析统计成绩 Else For jm = 1 To 15 If Cells(2, jm) = 年名 Then Cells(j, jm).ClearContents 有“A”的暂坐生不计算年名 Next End If End If End If NextEnd SubSub 统()分析统计各科平均分及年
8、级平均分并生成(年名表与班名表)统计基础:各单科成绩按总分降序排列取前N名 或 各班成绩按总分降序排列取前N名(包括与第N名相同总分)Dim i, m, j, n, k, o, jm, zf, zh, li As Integer, currenname, flag As String, c As Range Application.ScreenUpdating = False Dim tellMe, tellme1, tellme2 As String Application.Run 清 currenname = ActiveWorkbook.name 当前执行的应是有成绩的模板表,否则空白表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分析 统计 学生 成绩 生成 排好版 年级 排名
限制150内