ExcelVBA课程设计实习报告.pdf
《ExcelVBA课程设计实习报告.pdf》由会员分享,可在线阅读,更多相关《ExcelVBA课程设计实习报告.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程设计实习报告四川化工职业技术学院题目成绩管理系统系别信息工程系班级计算机应用技术姓名xXXXXxx 学号 21 起止时间12 月 26 日-1 月 6 日20112012年目录一、实习目的.1二、实习内容.1三、实习过程.1(一)实习准备.1(二)表格和窗体的设计.2(三)代码设计.6四、实习日志.22五、实习体会.24 20112012 学年 Excel VBA 实习报告-1-VBA 是 Ofice 中广泛使用的宏语言,使用宏可以增强 Word、Excel 等办公软件的自动化能力,使用户更高效地完成特定任务。Excel 处理对象多为数据,使用VBA 可以使繁琐和枯燥的工作变得简单易行。本
2、学期的学习使我对VBA 有了深刻的认识,掌握VBA 的一些操作方法,本次的实习使我对VBA 的实际运用又有了进一步的了解。一、实习目的掌握 VBA 程序设计语言的基础知识,并开发一个基于数据库的高效办公应用系统,通过实习能达到利用VBA 编程思想和技巧,实现各种高效自动化办公应用,能建立友好的图形用户界面,能正确地进行数据库服务器和数据库中数据的操作。二、实习内容题目:(项目二)成绩管理系统本项目利用 VBA 实现学生成绩评估的自动化,使学校提高对考生成绩分析的效率,从而提高学校考试系统的自动化。三、实习过程(一)实习准备在任何程序设计时,都需要有缜密的设计思路。本次是“成绩管理系统”,结合学
3、校的实际情况,首先对问题和需求进行分析,其次对项目的功能进行分析。得出项目设计流程图 20112012 学年 Excel VBA 实习报告-2-(二)表格和窗体的设计在开始编写代码前,需要设计好需要的每个工作表的框架,以便调用。首先设计了学生信息表,在第二行中一次输入编号、姓名、性别、班级字段,如图2。设计学生分数表用来录入学生的考试成绩,涉及字段为:编号、姓名、数学、英语、语文、物理、化学、生物、体育、总分;如图 1。设计统计学生整体情况的统计表;如图 3图 1 学生分数信息表学生成绩管理系统信息录入与更新学生考试情况分析学生信息录入学生分数信息录入学生整体考试情况学生个体考试情况学生成绩的
4、打印退出系统 20112012 学年 Excel VBA 实习报告-3-图 2 学生信息表图 3 统计表 20112012 学年 Excel VBA 实习报告-4-本次实习涉及到窗体,我采用先设计窗体再编写代码的方式。添加与更新学生信息窗体,添加与更新学生分数信息窗体,如图所示。图 4 添加与更新学生信息窗体图 5 添加与更新学生分数信息窗体 20112012 学年 Excel VBA 实习报告-5-图 6 分数查询(普通查找与高级查找)窗体(三)代码设计相关窗体设计完成后,接下来就是编写相关的功能代码,有了代码窗体的功能才能充分体现。首先是添加与更新学生信息窗体的“确定”按钮编写相应代码,主
5、要代码如下:Private Sub CommandButton1_Click()Dim tempY As Integer Dim SetFlag As Boolean SetFlag=True tempY=3 If(Trim(TextBox1.Text)=)Or(Trim(TextBox2.Text)=)Then MsgBox 请输入编号和姓名,确保一致,vbOKOnly,警告!End End If While(Not IsEmpty(Sheets(学生信息表).Cells(tempY,1).Value)If(Trim(TextBox1.Text=Sheets(学生信息表).Cells(tem
6、pY,1).Value)Then 20112012 学年 Excel VBA 实习报告-6-Sheets(学生信息表).Cells(tempY,1).Value=TextBox1.Text Sheets(学生信息表).Cells(tempY,2).Value=TextBox2.Text If(Trim(ComboBox1.Text )Then Sheets(学生信息表).Cells(tempY,3).Value=ComboBox1.Text End If If(Trim(TextBox4.Text )Then Sheets(学生信息表).Cells(tempY,4).Value=TextBox
7、4.Text End If SetFlag=False GoTo renew End If tempY=tempY+1 Wend While(Not IsEmpty(Sheets(学生信息表).Cells(tempY,1).Value)If(Trim(TextBox1.Text=Sheets(学生信息表).Cells(tempY,1).Value)Then SetFlag=False GoTo renew End If tempY=tempY+1 Wend renew:If(SetFlag)Then If(vbOK=MsgBox(没有找到该学生信息,是否新加入条目,vbOKCancel,提示)
8、Then Sheets(学生信息表).Cells(tempY,1).Value=TextBox1.Text Sheets(学生信息表).Cells(tempY,2).Value=TextBox2.Text If(Trim(ComboBox1.Text )Then Sheets(学生信息表).Cells(tempY,3).Value=ComboBox1.Text End If If(Trim(TextBox4.Text )Then 20112012 学年 Excel VBA 实习报告-7-Sheets(学生信息表).Cells(tempY,4).Value=TextBox4.Text End I
9、f End If End If End Sub 窗体的效果如下图所示:图 7当查找到学生信息需要删除时,点击删除按钮。相应代码为:Private Sub CommandButton4_Click()Dim tempY As Integer tempY=3 按照编号搜索记录If(Trim(TextBox5.Text)Then While(Not IsEmpty(Sheets(学生信息表).Cells(tempY,1).Value)If(TextBox5.Text=Sheets(学生信息表).Cells(tempY,1).Value)Then Sheets(学生信息表).Select Sheets
10、(学生信息表).Range(A&CStr(tempY)&:D&CStr(tempY).Select Dim shanchu As Integer shanchu=MsgBox(确定删除学生信息?,vbYesNo,提示:)If shanchu=6 Then 输入学生信息后,单机“确定”按钮后,如果找到相应的学生信息将会更新学生信息,如果没有相关学生信息,将弹出是否添加学生信息的对话框。如图 7 所示 20112012 学年 Excel VBA 实习报告-8-Sheets(学生信息表).Range(A&CStr(tempY)&:D&CStr(tempY).Delete Shift:=xlUp Ms
11、gBox 删除学生信息成功!,vbOKOnly,提示:End If End If tempY=tempY+1 Wend ElseIf(Trim(TextBox6.Text)Then While(Not IsEmpty(Sheets(学生信息表).Cells(tempY,1).Value)If(TextBox6.Text=Sheets(学生信息表).Cells(tempY,2).Value)Then Sheets(学生信息表).Select Sheets(学生信息表).Range(A&CStr(tempY)&:D&CStr(tempY).Select shanchu=MsgBox(确定删除学生信
12、息?,vbYesNo,提示:)If shanchu=6 Then Sheets(学生信息表).Range(A&CStr(tempY)&:D&CStr(tempY).Delete Shift:=xlUp MsgBox 删除学生信息成功!,vbOKOnly,提示:End If End If tempY=tempY+1 Wend Else MsgBox 请选择要删除的学生编号或姓名!,vbOKOnly,提示:End If End Sub 当需要删除学生信息时,如果没有输入学生的条件编号或者姓名,将弹出提示输入删除条件的对话框;当输入了学生的编号或姓名,将弹出确认删除的信息框。如下图所示:201120
13、12 学年 Excel VBA 实习报告-9-图 8 删除学生信息添加与更新学生分数的窗体代码:Private Sub CommandButton1_Click()Dim tempY As Integer Dim SetFlag As Boolean SetFlag=True tempY=3 If(Trim(TextBox1.Text)=)Or(Trim(TextBox2.Text)=)Then MsgBox 请输入编号和姓名,确保一致,vbOKOnly,警告!End End If While(Not IsEmpty(Sheets(学生分数表).Cells(tempY,1).Value)If(
14、Trim(TextBox1.Text=Sheets(学生分数表).Cells(tempY,1).Value)Then Sheets(学生分数表).Cells(tempY,1).Value=TextBox1.Text Sheets(学生分数表).Cells(tempY,2).Value=TextBox2.Text 20112012 学年 Excel VBA 实习报告-10-If(Trim(TextBox3.Text )Then Sheets(学生分数表).Cells(tempY,3).Value=TextBox3.Text End If If(Trim(TextBox4.Text )Then S
15、heets(学生分数表).Cells(tempY,4).Value=TextBox4.Text End If If(Trim(TextBox5.Text )Then Sheets(学生分数表).Cells(tempY,5).Value=TextBox5.Text End If If(Trim(TextBox6.Text )Then Sheets(学生分数表).Cells(tempY,6).Value=TextBox6.Text End If If(Trim(TextBox7.Text )Then Sheets(学生分数表).Cells(tempY,7).Value=TextBox7.Text
16、End If If(Trim(TextBox8.Text )Then Sheets(学生分数表).Cells(tempY,8).Value=TextBox8.Text End If If(Trim(TextBox9.Text )Then Sheets(学生分数表).Cells(tempY,9).Value=TextBox9.Text End If SetFlag=False GoTo renew End If tempY=tempY+1 Wend While(Not IsEmpty(Sheets(学生分数表).Cells(tempY,1).Value)If(Trim(TextBox1.Text
17、=Sheets(学生分数表).Cells(tempY,1).Value)Then SetFlag=False 20112012 学年 Excel VBA 实习报告-11-GoTo renew End If tempY=tempY+1 Wend renew:If(SetFlag)Then If(vbOK=MsgBox(没有找到该学生信息,是否新加入条目,vbOKCancel,提示)Then Sheets(学生分数表).Cells(tempY,1).Value=TextBox1.Text Sheets(学生分数表).Cells(tempY,2).Value=TextBox2.Text If(Tri
18、m(TextBox3.Text )Then Sheets(学生分数表).Cells(tempY,3).Value=TextBox3.Text End If If(Trim(TextBox4.Text )Then Sheets(学生分数表).Cells(tempY,4).Value=TextBox4.Text End If If(Trim(TextBox5.Text )Then Sheets(学生分数表).Cells(tempY,5).Value=TextBox5.Text End If If(Trim(TextBox6.Text )Then Sheets(学生分数表).Cells(tempY,
19、6).Value=TextBox6.Text End If If(Trim(TextBox7.Text )Then Sheets(学生分数表).Cells(tempY,7).Value=TextBox7.Text End If If(Trim(TextBox8.Text )Then Sheets(学生分数表).Cells(tempY,8).Value=TextBox8.Text End If If(Trim(TextBox9.Text )Then Sheets(学生分数表).Cells(tempY,9).Value=TextBox9.Text 20112012 学年 Excel VBA 实习报
20、告-12-End If End If End If qinkon End Sub 当添加学生分数时将检查是否已有该生的分数记录,如果有该学生的记录将进行更新,如果没有相关信息将提示是否添加新的记录。单击“确定”按钮后,界面输入的内容将自动清空,方便添加下一条记录。图 9 添加与更新学生分数信息框为了方便快速的找到所要学生的分数信息,本项目提供了查找功能,可以通过输入学生编号或姓名查询该生的分数信息,也可以根据分数信息查询相关的学生信息。主要代码如下:Private Sub CommandButton1_Click()Dim tempY As Integer tempY=3 If(Trim(Te
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ExcelVBA 课程设计 实习 报告
限制150内