明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

Excel中用宏與VBa自動統(tǒng)計成績

[摘要]在學(xué)校的教學(xué)活動中,通過統(tǒng)計分析學(xué)生的考試成績,了解教學(xué)情況,為改進以后的教學(xué)工作提供依據(jù),是整個教學(xué)工作中非常重要一環(huán)。但經(jīng)常按各種不同的指標(biāo)統(tǒng)計分析成績,又是一件很枯燥,很繁瑣的事。哪么,能否對...

    在學(xué)校的教學(xué)活動中,通過統(tǒng)計分析學(xué)生的考試成績,了解教學(xué)情況,為改進以后的教學(xué)工作提供依據(jù),是整個教學(xué)工作中非常重要一環(huán)。但經(jīng)常按各種不同的指標(biāo)統(tǒng)計分析成績,又是一件很枯燥,很繁瑣的事。哪么,能否對需統(tǒng)計的各種指標(biāo),無需人工干預(yù),讓計算機自動完成呢?答案是肯定的,筆者通過Excel中自帶的Vba,實現(xiàn)了這個設(shè)想。為能給被統(tǒng)計成績困擾的朋友提供一些幫助,下面以我校高中三年級理科成績統(tǒng)計為例,介紹其作法,供大家參考。   1. 設(shè)計流程,編制程序源代碼:為便于說明做法,同時代碼簡短一點,這里以我校高三理科1-4班成績統(tǒng)計為例,說明其做法。另外為使編寫代碼效率高一些,這里采用先錄制一部分為宏,再在vba中打開編輯相結(jié)合的辦法編寫。   ① 從外部的“考試成績.XLS”工作簿中將1-4班的成績拷貝,依次粘貼到“成績統(tǒng)計表.XLS”工作簿中的“理科”表中;   程序源代碼:   Sub 拷外部理科0()   ActiveWindow.WindowState = xlMinimized   Windows("考試成績.xls").Activate   ActiveWindow.WindowState = xlMaximized     Sheets("1班").Select     Range("A1:S60").Select     Selection.Copy     ActiveWindow.WindowState = xlMinimized   Windows("成績統(tǒng)計表.xls").Activate   ActiveWindow.WindowState = xlMaximized   Sheets("理科").Select   ActiveWindow.ScrollRow = 1   Range("A1").Select   ActiveSheet.Paste   拷貝“考試成績簿”中的1班成績表中數(shù)據(jù),粘貼到到成績統(tǒng)計表工作簿的理科表A1   Range("S22").Select   ActiveWindow.LargeScroll Down:=1   Range("S44").Select   ActiveWindow.LargeScroll Down:=1   Range("S66").Select   Windows("考試成績.xls").Activate   ActiveWindow.WindowState = xlNormal   Sheets("2班").Select   Range("A2").Select   ActiveWindow.SmallScroll Down:=43   Range("A2:S58").Select   Application.CutCopyMode = False   Selection.Copy  

    Windows("成績統(tǒng)計表.xls").Activate   ActiveWindow.WindowState = xlNormal   Range("A61").Select   ActiveSheet.Paste   拷貝考試成績簿中的2班成績表中數(shù)據(jù),粘貼到“成績統(tǒng)計”工作簿的理科表A61   Windows("考試成績.xls").Activate   ActiveWindow.WindowState = xlNormal   Sheets("3班").Select   Range("A1:S59").Select   Application.CutCopyMode = False   Selection.Copy   Windows("成績統(tǒng)計表.xls").Activate   ActiveWindow.WindowState = xlNormal   Range("S58").Select   ActiveWindow.LargeScroll Down:=1   Range("S80").Select   ActiveWindow.LargeScroll Down:=1   Range("S102").Select   ActiveWindow.LargeScroll Down:=1   Range("A118").Select   ActiveSheet.Paste   拷貝成績簿中的3班成績表中數(shù)據(jù),粘貼到成績統(tǒng)計表工作簿的理科表A118   Rows("118:118").Select   Application.CutCopyMode = False   Selection.Delete Shift:=xlUp   Range("D122").Select   Windows("考試成績.xls").Activate   ActiveWindow.WindowState = xlNormal   Sheets("4班").Select   Range("A2:S71").Select   Selection.Copy   Windows("成績統(tǒng)計表.xls").Activate   ActiveWindow.WindowState = xlNormal   ActiveWindow.LargeScroll Down:=1   Range("D144").Select   ActiveWindow.LargeScroll Down:=1   Range("D166").Select   ActiveWindow.LargeScroll Down:=1   Range("D188").Select   ActiveWindow.LargeScroll Down:=-1   Range("A176").Select

    ActiveSheet.Paste‘拷貝四班成績   End Sub

[next]

  ② 利用Excel的統(tǒng)計函數(shù)“RANK”將理科表中學(xué)生的各科成績排名次;目的是讓每位學(xué)生了解自己在全年級學(xué)生中的排名的位置。   程序代碼如下:   Sub 理名次()   Range("D2").Select   ActiveCell.FormulaR1C1 = "=RANK(RC[-1],R2C3:R246C3,0)"   Selection.Au

Office辦公軟件是辦公的第一選擇,這個地球人都知道。除了微軟Office,市面上也存在很多其他Office類軟件。