Excel中用宏和VBa自动统计成绩
好酷屋教程网小编为您收集和整理了Excel中用宏和VBa自动统计成绩的相关教程:[导读]在学校的教学活动中,通过统计分析学生的考试成绩,了解教学情况,为改进以后的教学工作提供依据,是整个教学工作中非常重要一环。但经常按各种不同的指标统计分析成绩,又是一件很枯燥,很繁琐的事。哪么,
[导读]在学校的教学活动中,通过统计分析学生的考试成绩,了解教学情况,为改进以后的教学工作提供依据,是整个教学工作中非常重要一环。但经常按各种不同的指标统计分析成绩,又是一件很枯燥,很繁琐的事。哪么,能否对需统计的各种指标,无需人工干预,让计算机自动完成呢?答案是肯定的,笔者通过Excel中自带的Vba,实现了
在学校的教学活动中,通过统计分析学生的考试成绩,了解教学情况,为改进以后的教学工作提供依据,是整个教学工作中非常重要一环。但经常按各种不同的指标统计分析成绩,又是一件很枯燥,很繁琐的事。哪么,能否对需统计的各种指标,无需人工干预,让计算机自动完成呢?答案是肯定的,笔者通过Excel中自带的Vba,实现了这个设想。为能给被统计成绩困扰的朋友提供一些帮助,下面以我校高中三年级理科成绩统计为例,介绍其作法,供大家参考。1.设计流程,编制程序源代码:为便于说明做法,同时代码简短一点,这里以我校高三理科1-4班成绩统计为例,说明其做法。另外为使编写代码效率高一些,这里采用先录制一部分为宏,再在vba中打开编辑相结合的办法编写。①从外部的“考试成绩.XLS”工作簿中将1-4班的成绩拷贝,依次粘贴到“成绩统计表.XLS”工作簿中的“理科”表中;程序源代码:Sub拷外部理科0()ActiveWindow.WindowState=xlMinimizedWindows(“考试成绩.xls”).ActivateActiveWindow.WindowState=xlMaximizedSheets(“1班”).SelectRange(“A1:S60”).SelectSelection.CopyActiveWindow.WindowState=xlMinimizedWindows(“成绩统计表.xls”).ActivateActiveWindow.WindowState=xlMaximizedSheets(“理科”).SelectActiveWindow.ScrollRow=1Range(“A1”).SelectActiveSheet.paste拷贝“考试成绩簿”中的1班成绩表中数据,粘贴到到成绩统计表工作簿的理科表A1Range(“S22”).SelectActiveWindow.LargeScrollDown:=1Range(“S44”).SelectActiveWindow.LargeScrollDown:=1Range(“S66”).SelectWindows(“考试成绩.xls”).ActivateActiveWindow.WindowState=xlNormalSheets(“2班”).SelectRange(“A2”).SelectActiveWindow.SmallScrollDown:=43Range(“A2:S58”).SelectApplication.CutCopyMode=FalseSelection.Copy
Windows(“成绩统计表.xls”).ActivateActiveWindow.WindowState=xlNormalRange(“A61”).SelectActiveSheet.paste拷贝考试成绩簿中的2班成绩表中数据,粘贴到“成绩统计”工作簿的理科表A61Windows(“考试成绩.xls”).ActivateActiveWindow.WindowState=xlNormalSheets(“3班”).SelectRange(“A1:S59”).SelectApplication.CutCopyMode=FalseSelection.CopyWindows(“成绩统计表.xls”).ActivateActiveWindow.WindowState=xlNormalRange(“S58”).SelectActiveWindow.LargeScrollDown:=1Range(“S80”).SelectActiveWindow.LargeScrollDown:=1Range(“S102”).SelectActiveWindow.LargeScrollDown:=1Range(“A118”).SelectActiveSheet.paste拷贝成绩簿中的3班成绩表中数据,粘贴到成绩统计表工作簿的理科表A118Rows(“118:118”).SelectApplication.CutCopyMode=FalseSelection.DeleteShift:=xlUpRange(“D122”).SelectWindows(“考试成绩.xls”).ActivateActiveWindow.WindowState=xlNormalSheets(“4班”).SelectRange(“A2:S71”).SelectSelection.CopyWindows(“成绩统计表.xls”).ActivateActiveWindow.WindowState=xlNormalActiveWindow.LargeScrollDown:=1Range(“D144”).SelectActiveWindow.LargeScrollDown:=1Range(“D166”).SelectActiveWindow.LargeScrollDown:=1Range(“D188”).SelectActiveWindow.LargeScrollDown:=-1Range(“A176”).Select
ActiveSheet.paste‘拷贝四班成绩EndSub②利用Excel的统计函数“RANK”将理科表中学生的各科成绩排名次;目的是让每位学生了解自己在全年级学生中的排名的位置。程序代码如下:Sub理名次()Range(“D2”).SelectActiveCell.FormulaR1C1=”=RANK(RC[-1],R2C3:R246C3,0)”Selection.AutoFillDestination:=Range(“D2:D246”),Type:=xlFillDefaultRange(“D2:D246”).SelectActiveWindow.LargeScrollDown:=-13ActiveWindow.ScrollRow=1’在工作表的D2单元格输入公式,并用拖的方式在D2-D246列复制Selection.CopyRange(“F2″).SelectActiveSheet.pasteApplication.CutCopyMode=FalseSelection.ReplaceWhat:=”$c$2:$c$246″,Replacement:=”$e$2:$e$246”,LookAt_:=xlpart,SearchOrder:=xlByRows,MatchCase:=False拷贝D列粘贴到F列F2Selection.CopyRange(“H2″).SelectActiveSheet.pasteApplication.CutCopyMode=FalseSelection.ReplaceWhat:=”e”,Replacement:=”g”,LookAt:=xlpart,_SearchOrder:=xlByRows,MatchCase:=False
以上就是好酷屋教程网小编为您收集和整理的Excel中用宏和VBa自动统计成绩相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/IT/64def53122d1943fdd0f7f66.html
相关推荐