ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:379.07KB ,
资源ID:3622871      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3622871.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于VBA开发成绩分析管理系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于VBA开发成绩分析管理系统.docx

1、基于VBA开发成绩分析管理系统摘 要随着计算机技术的飞速发展,计算机的应用已经越来越普及,其渗透到人类社会的各个领域并发挥着重要的作用。同样,运用计算机对学生成绩信息进行分析与管理已经成为各大院校的迫切需求。学生成绩信息是教育单位不可或缺的一部分,然而使用传统的人工方式对学生成绩进行分析存在着许多缺点,比如说误差性大、效率低、成本高等,这时迫切需要一种能够自动对学生成绩信息进行分析管理的方法。运用成绩分析系统对学生成绩信息进行分析,具有人工分析无法比拟的优点,例如:检索迅速、可靠性高、成本低等,这些优点能够极大的提高管理者对学生成绩管理的效率,使得学校的管理正规化、科学化。而运用基于Visua

2、l Basic发展而来的VBA技术,不但继承了VB的开发机制,而且具有与VB相似的语言结构,它具有效率高、简单易学及功能强大的特点。关键词:VBA、成绩分析、Excel、成绩管理。前 言计算机网络技术的发展,使得人们的生活与工作方式发生了很大的改变,人工处理数据信息的模式已经远远不能满足人们的需求,在这种形势下,使用计算机软件技术处理学生成绩信息成为了必然。90年代早期,使应用程序自动化还是一块充满挑战性的领域,对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言,例如,可以用Excel的宏语言来使Excel自动化,微软决定让它开发出来的应用程序共享一种通用的自动化语言Visual

3、Basic For Application(VBA),可以说VBA是一种非常流行的应用程序开发语言,使用它可以自定义Excel工具栏、菜单和界面,可以自定义Excel,使其成为开发平台等等。本篇论文将从系统的开发背景、可行性分析、需求分析、概要设计、详细设计和系统测试等主要方面对成绩分析系统进行详细讲解,在论文的最后,将再次通过总结系统的设计、功能对系统进行整体上的认识。第一章 概 述1.1系统开发背景计算机应用的普及使得学校使用计算机技术对学生成绩信息进行分析变得越来越频繁,而基于VBA技术的成绩分析系统通过Visual Basic for Application与Excel的巧妙结合运用让

4、学生成绩信息分析变得更加准确、高效。1.2 系统开发环境与开发工具成绩信息分析系统的开发环境如下:windows xp操作系统。开发所使用的工具有:Microsoft office 2003,Visual Basic For Application。1.3 系统开发目标本系统开发的主要目标是为了实现对学生成绩信息的高效和准确的分析,同时学生可以通过本系统查询成绩以及档案等信息。1.4 可行性分析1.4.1 技术上可行性可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够得到解决。本系统的设计开发利用Microsoft office Excel作为本系统的开发平台,操作简单易学,容易上

5、手,适用于大中规模的数据量需求。使用Visual Basic For Application作为系统的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。综上所述,本成绩分析系统无论在硬件设备上还是开发技术上都是可行的。1.4.2 运行上可行性本系统作为一个使用Microsoft office Excel对数据进行分析,所耗费的资源非常少,要求的环境配置也非常简单,同时对硬件的要求很低,在运行上具有非常大的可行性。第二章 需求分析2.1 成绩分析系

6、统现状分析目前市场上的成绩分析系统层出不穷,系统结构千变万化,然而当我们在使用别人做的系统时会发现此类系统会出现很多不必要出现的问题,比如系统打开速度慢,系统很多功能用不到,安装系统时要求的环境配置很高等等的这些问题使得市场上的系统在用户体验上做的很差。于是,在这种形势下,一种更适合用户体验的成绩分析系统成为了使用者的迫切需求,基于VBA技术的成绩分析系统采用的是以Excel形式对成绩信息进行分析管理的模式,它无需与数据库进行连接,同时要求的环境配置非常低,用户非常容易上手操作,这种系统在现今这种状态下非常值得提倡使用。2.2 基于VBA技术的应用2.2.1 VBA简介Visual Basic

7、 for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能。也可说是一种应用程式视觉化的Basic Script。2.2.2 VBA与其他开发技术的比较Microsoft Office software的普及使得人们常见的Office软件中的Word、Excel、Access、Powerpoint都可以利用VBA使这些软件的应用更高效率,例如:通过一段VBA代码,可以实现画面的切换和复杂逻辑的统计。第三章 成绩分析系统设计与实现3.1 系统结构本成绩分析系统从功能上划分以下两个模块:学生成绩分析模块,学生信息查询模块,以下

8、对这两个模块进行详细的说明。学生成绩分析模块:该模块可以对整个年级的学生成绩信息进行排名,并通过输入班级名生成班级成绩表,另外该模块还可以对每一科目的成绩进行分析。如果在管理员想查询某次考试的缺考人员信息,可以通过点击主界面的缺考人员名单进行查询分析。同时,可以对数据信息进行维护与查错。学生信息查询模块:该模块是学生用来查询个人信息包括个人成绩查询,个人成绩排名查询,单科成绩的详细情况查询以及对个人档案信息的简单维护,同时如果学生为了保证信息安全需要定期修改个人密码,只需要点击主界面上的修改密码选项即可以轻松实现密码的修改。系统整体模块如图3-1所示:图3-1 系统整体模块结构图3.2 程序逻

9、辑3.2.1 系统E-R图系统E-R图如图3-2所示。图3-2 系统E-R图3.2.2 查询模块流程图查询模块流程图如图3-3所示。图3-3 查询模块流程图3.2.3 分析模块流程图分析模块流程图如图3-4所示。图3-4 分析模块流程图3.3 主程序设计说明3.3.1 用户登录模块成绩分析系统的用户登录模块如图3-5所示:图3-5 成绩分析系统登录模块用户登录类别分为两种:管理员与学生,其中学生具有查询个人信息的权限而无法查看其他学生、班级等信息。管理员同样不能登陆学生信息主界面,管理员具有对全年级学生信息进行操作的权限,包括对成绩信息的分析,查询,对学生档案信息的查询等。通过下面的表格,可以

10、清楚的看到管理员的登录号和密码以及相关权限。表3-1 登陆用户信息用户类别管理员学生登录号8888812001密码123123操作权限成绩分析、成绩查询、统计人数、科目分析、数据错误检查维护、缺考人员名单查询等个人成绩查询,个人排名查询,单科成绩分析,个人密码修改,档案信息维护等具体实现过程如下代码所示:Private Sub CommandButton1_Click()zc = Sheets(登录).Range(A65536).End(xlUp).RowIf TextBox1.Value = Then MsgBox 请输入登录号, vbOKOnly, 错误For i = 2 To zcIf

11、TextBox1.Text = Sheets(登录).Cells(i, 1) ThenIf TextBox2.Text = Sheets(登录).Cells(i, 3) ThenApplication.StatusBar = 当前用户为: & Sheets(登录).Cells(i, 1) & ; & 姓名为: & Sheets(登录).Cells(i, 2) & ;身份为: & Sheets(登录).Cells(i, 4)登录.HideIf Sheets(登录).Cells(i, 4) = 学生 Then主界面2.ShowElse主界面1.ShowEnd IfElseMsgBox 密码错误!,

12、 vbOKOnly, 错误End IfExit ForEnd IfNext iIf i zc Then: MsgBox 登录号不存在!, vbOKOnly, 错误End Sub当用学生的账号和密码登录时,可以进入学生个人成绩查询模块;当用管理员的账号和密码登录时,可以进入学生成绩分析模块。3.3.2 系统设计本系统分为学生个人成绩查询模块与学生成绩分析模块。1. 学生个人成绩查询模块其中学生个人成绩查询主界面如图3-6所示:图3-6 学生成绩查询模块学生通过登陆窗口输入登录号与密码进入此目录,在此目录下,学生可以查看个人成绩、个人排名、单科成绩以及档案等信息。(1)个人成绩查询功能实现通过点击

13、个人成绩查询,可以看到如图3-7: 图3-7 个人成绩查询结果该按钮其功能主要是学生用来查询个人成绩信息,主要代码如下图所示:Set sth = Sheets(成绩表)yh = Mid(Application.StatusBar, 7, WorksheetFunction.Find(;, Application.StatusBar) - 7)For i = 2 To sth.Range(B65536).End(xlUp).RowIf sth.Cells(i, 3) = Val(yh) Then Exit ForNext iLabel2.Caption = sth.Cells(i, 2)Labe

14、l18.Caption = sth.Cells(i, 3)Label3.Caption = sth.Cells(1, E)Label4.Caption = sth.Cells(1, F)Label5.Caption = sth.Cells(1, G)Label6.Caption = sth.Cells(1, H)Label7.Caption = sth.Cells(1, I)Label8.Caption = sth.Cells(1, J)Label10.Caption = sth.Cells(i, E)Label11.Caption = sth.Cells(i, F)Label12.Capti

15、on = sth.Cells(i, G)Label13.Caption = sth.Cells(i, H)Label14.Caption = sth.Cells(i, I)Label15.Caption = sth.Cells(i, J)Label16.Caption = WorksheetFunction.Sum(sth.Range(E & i & :I & i)(2)个人排名查询功能实现通过点击该功能,可以看到如下结果,如图3-8所示:图3-8 个人成绩排名学生通过点击该按钮,可以查看自己的成绩排名,主要代码如下图所示:Set sth = Sheets(成绩表)zccjb = sth.Ra

16、nge(B65536).End(xlUp).Rowyh = Mid(Application.StatusBar, 7, WorksheetFunction.Find(;, Application.StatusBar) - 7)For i = 2 To sth.Range(B65536).End(xlUp).RowIf sth.Cells(i, 3) = Val(yh) Then Exit ForNext iLabel2.Caption = yhLabel4.Caption = sth.Cells(i, 2)bj = sth.Cells(i, D)cj = WorksheetFunction.S

17、um(sth.Range(E & i & :I & i)Label8.Caption = cjm1 = 1m2 = 1For j = 2 To zccjbIf WorksheetFunction.Sum(sth.Range(E & j & :I & j) cj Thenm2 = m2 + 1If sth.Cells(j, D) = bj Then m1 = m1 + 1End IfNext jLabel9.Caption = m1Label10.Caption = m2(3)单科成绩分析功能实现当你点击单科成绩分析时,会要求你选择分析的科目如下图3-9所示:图3-9 单科成绩分析比如选择了“语

18、文”这门课程,当你点击确定时,就能将“语文”的成绩分析结果显示出来,如下图3-10所示:图3-10 单科成绩查询结果该按钮是用来对单科成绩进行分析的,其功能主要代码如下图所示:Set sth = Sheets(成绩表)zccjb = sth.Range(B65536).End(xlUp).Rowyh = Mid(Application.StatusBar, 7, WorksheetFunction.Find(;, Application.StatusBar) - 7)For i = 2 To zccjbIf sth.Cells(i, 3) = Val(yh) Then Exit ForNext

19、 ikm = Sheets(主界面).Cells(40, 1)Label2.Caption = yhLabel4.Caption = sth.Cells(i, 2)Label6.Caption = sth.Cells(i, 4)For j = 5 To 9If sth.Cells(1, j) = km Then Exit ForNext j科目分析结果.Caption = & km & 成绩分析结果Label14.Caption = sth.Cells(i, j)mcbj = 1mcbjmax = sth.Cells(i, j)mcnj = 1mcnjmax = sth.Cells(i, j)

20、For k = 2 To zccjbIf sth.Cells(k, j) sth.Cells(i, j) Thenmcnj = mcnj + 1If sth.Cells(k, j) mcnjmax Then mcnjmax = sth.Cells(k, j)If sth.Cells(k, D) = sth.Cells(i, D) Thenmcbj = mcbj + 1If sth.Cells(k, j) mcbjmax Then mcbjmax = sth.Cells(k, j)End IfEnd IfNext kLabel15.Caption = mcbjLabel16.Caption =

21、mcbjmaxLabel17.Caption = mcnjLabel18.Caption = mcnjmax(5)密码修改功能实现该功能顾名思义是学生用来修改个人密码的,如下图3-11所示:图3-11 密码修改可以通过该窗口随时更换学生的个人密码。学生为了保护个人数据,需要定期修改密码,该密码修改功能主要代码如下图所示:If TextBox2.Text TextBox3.Text ThenMsgBox 新密码确认错误!, vbOKOnly, 失败了Exit SubEnd Ifyh = Mid(Application.StatusBar, 7, WorksheetFunction.Find(;,

22、 Application.StatusBar) - 1)For i = 2 To Sheets(登录).Range(B65536).End(xlUp).RowIf Sheets(登录).Cells(i, 1) = Val(yh) ThenIf Sheets(登录).Cells(i, 3) = TextBox1.Text ThenSheets(登录).Cells(i, 3) = TextBox2.Text MsgBox 密码修改成功!, vbOKOnly, 成功了ElseMsgBox 错误的原密码!, vbOKOnly, 失败了End IfExit ForEnd IfNext i(6)档案信息维

23、护功能实现通过点击个人档案维护,会出现如下窗口,学生可以通过该窗口修改个人基本档案信息。图3-12 个人档案信息维护学生可以对其档案进行维护,其功能主要代码如下图所示:Set sth = Sheets(学生花名册)xh = Mid(Application.StatusBar, 7, WorksheetFunction.Find(;, Application.StatusBar) - 7)For i = 2 To sth.Range(B65536).End(xlUp).RowIf sth.Cells(i, 1) = Val(xh) Then Exit ForNext isth.Cells(i,

24、5) = TextBox4.Textsth.Cells(i, 6) = TextBox5.Textsth.Cells(i, 7) = TextBox6.Textsth.Cells(i, 8) = TextBox7.Textsth.Cells(i, 4) = TextBox8.Textsth.Cells(i, 9) = TextBox9.Textsth.Cells(i, 10) = TextBox10.Textsth.Cells(i, 11) = TextBox11.TextThisWorkbook.Save2. 成绩分析模块而成绩分析的主界面如图3-13所示:图3-13 成绩分析主目录管理员在

25、该目录下,可以对年级信息进行排名,统计年级前N名的人数,同时能够对科目进行分段分析以及查看各班级的成绩。另外,管理员还能够对每次缺考的学生进行分析查询。(1)年级排名功能实现当管理员点击年级排名时,会得到全年级学生成绩排名,如图3-14所示:图3-14 年级排名该按钮是管理员用来对整个年级的学生成绩信息进行排名分析,实现此功能主要代码如下图所示:Application.DisplayAlerts = FalseFor Each w In ThisWorkbook.SheetsIf w.Name = 年级排名 Thencz = MsgBox(存在年级排名表,是否确定删除后重新开始?, vbYes

26、No, 是否继续操作)If cz = vbYes Then Sheets(年级排名).Delete Else: Exit SubEnd IfNext wApplication.DisplayAlerts = Truegs = Sheets.Count + 1Sheets.Add after:=Sheets(gs - 1)Sheets(gs).Name = 年级排名Sheets(成绩表).Cells.Copy Destination:=Sheets(gs).Range(A1)Sheets(gs).Range(K1:L1) = Array(总分, 名次)zccjb = Sheets(gs).Ran

27、ge(B65536).End(xlUp).RowFor i = 2 To zccjbSheets(gs).Cells(i, K) = WorksheetFunction.Sum(Sheets(gs).Range(E & i & :I & i)Next iSheets(gs).Range(A2:K & zccjb).Sort Key1:=Range(K2), Order1:=xlDescendingFor j = 2 To zccjbSheets(gs).Cells(j, A) = j - 1If Sheets(gs).Cells(j, K) = Sheets(gs).Cells(j - 1,

28、K) ThenSheets(gs).Cells(j, L) = Sheets(gs).Cells(j - 1, L)ElseSheets(gs).Cells(j, L) = j - 1End IfNext jSheets(gs).Range(J1).CopySheets(gs).Range(K1:L1).PasteSpecial Paste:=xlPasteFormatsSheets(gs).Range(E2).CopySheets(gs).Range(K2:L & zccjb).PasteSpecial Paste:=xlPasteFormatsApplication.CutCopyMode

29、 = FalseRange(B1).Select(2)年级前N名人数统计功能实现当运行此功能时,会要求管理员输入需要统计的人数,如图3-15。图3-15 输入人数n如需要统计20人,就可以输入“20”,通过点击确定按钮即可得到统计结果,如图3-16所示。图3-16年级前n名如果需要对年级前N名学生人数进行统计,那么该按钮即可实现,实现其功能的主要代码如下图所示:Application.DisplayAlerts = FalseFor i = 1 To Sheets.CountIf Sheets(i).Name = 前N名人数统计 ThenIf MsgBox(已存在前N名人数统计表,是否要删除?

30、, vbYesNo, 已存在) = vbYes ThenSheets(前N名人数统计).DeleteExit ForElseExit SubEnd IfEnd IfNext iApplication.DisplayAlerts = TrueFor i = 1 To Sheets.CountIf Sheets(i).Name = 年级排名 Then Exit ForNext iIf i Sheets.Count ThenMsgBox 在未形成年级排名表前无法进行前N名人数统计, & Chr(13) & 请先生成年级排名表!, vbYesonly, 注意Exit SubEnd Ifn = Val(Application.InputBox(prompt:=请输入需要需要统计的人数(n值):, Title:=请输入数字)Set sth1 = Sheets(年级排名)z

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1