下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Excelvba学生各班成绩分析统计及对应模板(修正版)访问—/file/id_84798498557394945.htm可下载相应模板及vba代码。各班成绩分析统计.xlavba代码(修正版)适合的学校计算方式为:在单科成绩按总分降序排列取前“N”(平均基数)名的基础上求单科平均及对全年级求年级平均,班名及年名在执行一下“清()”后可自动显示出来,(注意:请修改一下暂坐生标志,防止先删了数据)模块2代码:Sub清()清除“姓名”字段中含“N/A”的无效数据。清除“姓名”字段中含“a”的暂坐生。Dimi,jAsIntegeri=Range("A65536").End(xlUp).RowForj=1ToiIfIsError(Cells(j,3))ThenRows(j).ClearContentsElseIfInStr(Cells(j,3),"a")>0Then'(”a”为暂坐生标志,模板中“A”为正确暂坐生标志,可自改)Rows(j).ClearContentsEndIfNextEndSubSub统()'ActiveCell.Formula="=sum(a1:f1)/"&i'ActiveCell.FormulaR1C1="=SUM(R[-6]C:R[-1]C)/"&i&""'Application.Run"Book2.xls!Macro1"'清除不必要数据MsgBox"请先设好暂座标志"Application.Run"清"'初始化班级个数平均基数Dimi,m,j,n,o,jm,zh,li,newRangeAsInteger'Dimi,m,j,n,o,newRangeAsIntegerDimtellMeAsStringOnErrorGoToVeryEndtellMe="请输入一个平均基数"tellMe2="请输入一个正确的最大班级个数"i=Application.InputBox(prompt:=tellMe,Title:="平均基数",Default:=50,Type:=1)m=Application.InputBox(prompt:=tellMe2,Title:="班级个数",Default:=8,Type:=1)Ifi=FalseThenExitSubIfm=FalseThenExitSubVeryEnd:'求各班各科平均分'科目Range("D2").Range("A1:I1").SelectSelection.CopyRange("Q2").SelectSelection.PasteSpecialPaste:=xlPasteValuesAndNumberFormats,Operation:=_xlNone,SkipBlanks:=False,Transpose:=FalseRange("z2")="政史"'取得政史列号Forjm=17To30IfCells(2,jm)="政治"Thenzh=jmElseIfCells(2,jm)="历史"Thenli=jmEndIfNext'班级j=1'执行的班级个数n=83'执行的求平均行号定位o=3'执行聚集行号定位Whilej<=mRange("d"&n&"").FormulaArray="=AVERAGE(LARGE(R[-80]C:R[-1]C,ROW(R1:R"&i&")))"Range("d"&n&"").SelectSelection.AutoFillDestination:=ActiveCell.Range("A1:I1"),Type:=_xlFillDefaultActiveCell.Range("A1:I1").SelectSelection.CopyRange("q"&o&"").SelectSelection.PasteSpecialPaste:=xlPasteValuesAndNumberFormats,Operation:=_xlNone,SkipBlanks:=False,Transpose:=FalseRange("z"&o&"").SelectOnErrorResumeNext'ActiveCell.Formula=Cells(o,zh)+Cells(o,li)'ActiveCell.FormulaR1C1="=Application.WorksheetFunction.Sum((Chr(Asc("a")+zh-1)&o,Chr(Asc("a")+li-1)&o)"'Chr(Asc("a")+li-1)&2&":"ActiveCell.FormulaR1C1=Application.WorksheetFunction.Sum(Cells(o,zh),Cells(o,li))'ActiveCell.FormulaR1C1="=SUM(RC[-3],RC[-4])"n=n+81j=j+1o=o+1Wend'求年平均分Range("q"&o&"").SelectActiveCell.FormulaR1C1="=SUM(R[-"&m&"]C:R[-1]C)/"&m&""Selection.AutoFillDestination:=ActiveCell.Range("A1:J1"),Type:=_xlFillDefaultActiveCell.Offset(0,-1).Range("A1").SelectActiveCell.FormulaR1C1="年平"'设置格式为“2”位小数(红色)Range("Q3:Z12").SelectSelection.NumberFormatLocal="[红色]0.00_;[红色]-0.00"'清空多余列'DimjmAsIntegerForjm=17To30IfCells(2,jm)="总分"ThenColumns(jm).ClearContentsElseIfCells(2,jm)="年名"ThenColumns(jm).ClearContentsElseIfCells(2,jm)="班名"ThenColumns(jm).ClearContentsEndIfNext'清空无效数据ForEachcInRange(Range("A1"),ActiveCell.SpecialCells(xlLastCell))IfIsError(c)Thenc.ClearContentsEndIfNextcEndSubThisbook代码:PrivateSubWorkbook_Open()Workbook_AddinInstall'AddNewCommandBarEndSubPrivateSubWorkbook_AddinInstall()DimCBAsCommandBarControlDimiAsIntegeri=1ForEachCBInApplication.CommandBars(1).ControlsIfCB.Caption="成绩处理"Then'菜单已加入,则刪除Application.CommandBars("WorksheetMenuBar").Controls("成绩处理「.Visible=TrueApplication.CommandBars("WorksheetMenuBar").Controls("成绩处理").DeleteEndIfNextDimobjCmdBrPpAsCommandBarPopupSetobjCmdBrPp=Application.CommandBars.ActiveMenuBar.Controls.Add(Type:=msoControlPopup,Temporary:=False)OnErrorResumeNextobjCmdBrPp.Caption="成绩处理"SetobjCmdBrPp=NothingWithApplication.CommandBars("Worksheetmenubar").Controls("成绩处理").Controls.Add(Type:=msoControlButton,Before:=1).Caption="清".Controls(“清").OnAction="清"EndWithWithApplication.CommandBars("Worksheetmenubar").Controls("成绩处理").Controls.Add(Type:=msoControlButton,Before:=1).Caption="统".Controls(”统").OnAction="统"EndWith'建立工具栏DimxBarAsCommandBarDimxButton1AsCommandBarButtonDimxButton2AsCommandBarButtonOnErrorResumeNextApplication.CommandBars("CustomBar").DeleteSetxBar=Application.CommandBars.Add(Name:="成绩处理",Position:=msoBarTop,MenuBar:=False,Temporary:=False)SetxButton1=xBar.Controls.Add(Type:=msoControlButton)SetxButton2=xBar.Controls.Add(Type:=msoControlButton)WithxButton1.Caption="清".Style=msoButtonCaption.OnAction="清"EndWithWithxButton2.Caption="统".Style=msoButtonCaption.OnAction="统"EndWithWithApplication.CommandBars("成绩处理").Visible=TrueEndWithSetxBar=NothingSetxButton1=NothingSetxButton2=Nothing'固定工具栏DimintleftAsInteger,introwAsIntegerintleft=Application.CommandBars("formatting").Widthintrow=Application.CommandBars("formatting").RowIndexApplication.CommandBars("成绩处理").Left=intleftApplication.CommandBars("成绩处理").RowIndex=introwEndSubPrivateSubWorkbook_BeforeClose(CancelAsBoolean)'文件关闭,就刪除菜单DimCBAsCommandBarControlOnErrorResumeNextForEachCBInApplication.CommandBars(1).ControlsIfCB.Caption="成绩处理"ThenApplicatio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025施工安全合同范本
- 招商合同解除协议
- 二零二五年度房地产股权收购合同模板3篇
- 空调安装个人施工合同
- 农村房产交易合同范本
- 环境美化堰塘整治施工合同
- 2025版关联公司人才派遣与培训合同范本3篇
- 二零二五年度捯短物流运输短期合同文本2篇
- 二零二五年度ROHS检测与环保认证咨询服务合同2篇
- 2025关于房地产中介的服务合同
- 现代学徒制课题:数字化转型背景下新型师徒关系构建研究(附:研究思路模板、可修改技术路线图)
- 9.2溶解度(第2课时)-2024-2025学年九年级化学人教版(2024)下册
- 安徽省合肥市包河区2023-2024学年三年级上学期语文期末试卷
- 2024版食源性疾病培训完整课件
- 2025年中国蛋糕行业市场规模及发展前景研究报告(智研咨询发布)
- 护理组长年底述职报告
- 巨量引擎合同范本
- 《住院患者身体约束的护理》团体标准解读课件
- 初中语文:非连续性文本阅读练习(含答案)
- 中考英语过去将来时趣味讲解动态课件(43张课件)
- 零星维修工程施工方案(定)
评论
0/150
提交评论