Excel中用宏與VBa自動統(tǒng)計成績
發(fā)表時間:2023-06-02 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在學(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類軟件。