ExcelVBA实习答辩PPT_第1页
ExcelVBA实习答辩PPT_第2页
ExcelVBA实习答辩PPT_第3页
ExcelVBA实习答辩PPT_第4页
ExcelVBA实习答辩PPT_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Excel VBA姓名课课 程程 实实 习习2011年2012年 Excel VBA实习学校名称学校名称专业班级Excel VBA课程实习课程实习答 辩编程思路编程思路表格设计表格设计窗体设计窗体设计心得体会心得体会VBA是Ofice中广泛使用的宏语言,使用宏可以增强Word、Excel等办公软件的自动化能力,使用户更高效地完成特定任务。Excel处理对象多为数据,使用VBA可以使繁琐和枯燥的工作变得简单易行。本学期的学习使我对VBA有了深刻的认识,掌握VBA的一些操作方法,本次的实习使我对VBA的实际运用又有了进一步的了解。实习目的实习目的项目准备实习过程心得体会掌握VBA程序设计语言的基础

2、知识,并开发一个基于数据库的高效办公应用系统,通过实习能达到利用VBA编程思想和技巧,实现各种高效自动化办公应用,能建立友好的图形用户界面,能正确地进行数据库服务器和数据库中数据的操作。 实习目的实习目的首先,根据时间的安排结合自己的能力,选择做“成绩管理系统”。实习目的项目准备项目准备实习过程心得体会本项目利用VBA实现学生成绩评估的自动化,使学校提高对考生成绩分析的效率,从而提高学校考试系统的自动化。 结合机房情况,此次实习采用MicrosoftOfficeExcel作为主要制作工具。项目准备项目准备实习目的项目准备实习过程实习过程心得体会编程思路编程思路任何程序的设计,都离不开缜密的思路

3、。当然,本项目也一样,在设计之前需要对问题和功能进行分析。成绩管理系统学生信息录入与更新学生考试情况分析推出系统学生信息录入学生分数信息录入个体考试情况分析整体考试情况分析学生成绩答应实习目的项目准备实习过程实习过程心得体会表格设计表格设计 在开始编写所有代码之前,需要设计好将要涉及到的工作表框架,以便代码编写时方便调用。1、学生信息表、学生信息表 学生信息表的字段及工作表内容。实习目的项目准备实习过程实习过程心得体会2、学生分数表、学生分数表3、综合统计表、综合统计表 对学生考试的整体情况进行分析。实习目的项目准备实习过程实习过程心得体会窗体的设计窗体的设计 本次项目涉及到窗体,因此我采用先

4、设计好需要的窗体再编写相应代码方式进行工作。1、学生信息录入与更新窗体、学生信息录入与更新窗体实习目的项目准备实习过程实习过程心得体会2、学生分数信息录入与更新窗、学生分数信息录入与更新窗体体3、查询窗体设计、查询窗体设计实习目的项目准备实习过程实习过程心得体会代码设计代码设计 相关窗体设计完成后,接下来就是编写相关的功能代码,有了代码窗体的功能才能充分体现 。1、学生信息录入与更新、学生信息录入与更新 有了前面设计的窗体,现在只需在相应位置添加相关代码,但单击“确认更新”按钮后,将自动检测是否有相同记录,如果有相同记录将自动更新内容;如果没有则提示是否添加心得记录,当单击“是”文本框中的信息

5、自动录入相应表格;单击“否”则取消更新或添加;单击“取消”将退出界面。当选择查找功能,找到指定内容后将自动选中记录,当选择删除是清除相应记录。Dim tempY As IntegerDim SetFlag As BooleanSetFlag = TruetempY = 3 If (Trim(TextBox1.Text) = ) Or (Trim(TextBox2.Text) = ) Then MsgBox 请输入编号和姓名,确保一致, vbOKOnly, 警告! EndEnd IfWhile (Not IsEmpty(Sheets(学生信息表).Cells(tempY, 1).Value) I

6、f (Trim(TextBox1.Text = Sheets(学生信息表).Cells(tempY, 1).Value) 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 Sheets(学生

7、信息表).Cells(tempY, 4).Value = TextBox4.Text End If SetFlag = False GoTo renew End If tempY = tempY + 1WendWhile (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 + 1Wend以上是按找姓名和编号在”学生信息表“

8、中进行循环验证。renew: If (SetFlag) Then If (vbOK = MsgBox(没有找到该学生信息,是否新加入条目, vbOKCancel, 提示) 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(TextB

9、ox4.Text ) Then Sheets(学生信息表).Cells(tempY, 4).Value = TextBox4.Text End If End If End If如果没有则将文本框中内容写入表格。Dim tempY As IntegertempY = 3If (Trim(TextBox5.Text) ) ThenWhile (Not IsEmpty(Sheets(学生信息表).Cells(tempY, 1).Value) If (TextBox5.Text = Sheets(学生信息表).Cells(tempY, 1).Value) Then Sheets(学生信息表).Sele

10、ct Sheets(学生信息表).Range(A & CStr(tempY) & :D & CStr(tempY).SelectDim shanchu As Integershanchu = MsgBox(确定删除学生信息?, vbYesNo, 提示:)If shanchu = 6 Then Sheets(学生信息表).Range(A & CStr(tempY) & :D & CStr(tempY).Delete Shift:=xlUp MsgBox 删除学生信息成功!, vbOKOnly, 提示: End If End If tempY = t

11、empY + 1WendElseIf (Trim(TextBox6.Text) ) ThenWhile (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).Selectshanchu = MsgBox(确定删除学生信息?, vbYesNo, 提示:) I

12、f shanchu = 6 Then Sheets(学生信息表).Range(A & CStr(tempY) & :D & CStr(tempY).Delete Shift:=xlUp MsgBox 删除学生信息成功!, vbOKOnly, 提示:End If End If tempY = tempY + 1 Wend ElseMsgBox 请选择要删除的学生编号或姓名!, vbOKOnly, 提示: End If实习目的项目准备实习过程实习过程心得体会2、学生分数信息录入与更新、学生分数信息录入与更新 根据窗体设计,单击”确定“将自动更新,没有记录将询问是否添加新记录

13、,选择”是“则添加。选择”取消“将退出界面。Dim tempY As IntegerDim SetFlag As BooleanSetFlag = TruetempY = 3 If (Trim(TextBox1.Text) = ) Or (Trim(TextBox2.Text) = ) Then MsgBox 请输入编号和姓名,确保一致, vbOKOnly, 警告! EndEnd IfWhile (Not IsEmpty(Sheets(学生分数表).Cells(tempY, 1).Value) If (Trim(TextBox1.Text = Sheets(学生分数表).Cells(tempY

14、, 1).Value) Then Sheets(学生分数表).Cells(tempY, 1).Value = TextBox1.Text Sheets(学生分数表).Cells(tempY, 2).Value = TextBox2.Text If (Trim(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 I

15、f (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 End If If (Trim(TextBox8.Text ) Then Shee

16、ts(学生分数表).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 + 1WendWhile (Not IsEmpty(Sheets(学生分数表).Cells(tempY, 1).Value) If (Trim(TextBox1.Text = Sheets(学生分数表).Cells(

17、tempY, 1).Value) Then SetFlag = False GoTo renew End If tempY = tempY + 1Wendrenew: If (SetFlag) Then If (vbOK = MsgBox(没有找到该学生信息,是否新加入条目, vbOKCancel, 提示) Then Sheets(学生分数表).Cells(tempY, 1).Value = TextBox1.Text Sheets(学生分数表).Cells(tempY, 2).Value = TextBox2.Text If (Trim(TextBox3.Text ) Then Sheets

18、(学生分数表).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, 6).Value = T

19、extBox6.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 End If End If End If

20、 实习目的项目准备实习过程实习过程心得体会3、查询窗体代码设计、查询窗体代码设计 查询窗体实现当输入编号或姓名时,将自动选中表中的记录。当输入查询条件后将弹出对话框,选择要查找的学生信息,将选中该学生,如果没有将显示查询失败的相关内容。Dim tempY As IntegertempY = 3If (Trim(TextBox1.Text) ) ThenWhile (Not IsEmpty(Sheets(学生分数表).Cells(tempY, 1).Value) If (TextBox1.Text = Sheets(学生分数表).Cells(tempY, 1).Value) Then Sheet

21、s(学生分数表).Select Sheets(学生分数表).Range(A & CStr(tempY) & :J & CStr(tempY).Select End If tempY = tempY + 1 Wend按姓名搜所ElseIf (Trim(TextBox2.Text) ) ThenWhile (Not IsEmpty(Sheets(学生分数表).Cells(tempY, 1).Value) If (TextBox2.Text = Sheets(学生分数表).Cells(tempY, 2).Value) Then Sheets(学生分数表).Select She

22、ets(学生分数表).Range(A & CStr(tempY) & :J & CStr(tempY).Select End If tempY = tempY + 1 Wend Else mei you xin xi shu ru MsgBox 请输入查询条件, vbOKOnly, 提示: End If Dim tempY As IntegerDim tempflag As Booleantempflag = TruetempY = 3Sheets(学生分数表).Select进入逐行循环While (Not IsEmpty(Sheets(学生分数表).Cells(tem

23、pY, 1).Value) If (numbervalue = 1) Then If (Sheets(学生分数表).Cells(tempY, 1).Offset(0, (colvalue + 1).Value limitnum) ThenIf (vbOK = MsgBox(是 & Sheets(学生分数表).Cells(tempY, 2).Value & 吗?, vbOKCancel, 确认) ThenSheets(学生分数表).Range(A & CStr(tempY) & :J & CStr(tempY).Select End End If End

24、IfEnd If tempY = tempY + 1 Wend If (tempflag) Then MsgBox 没有找到该学生, vbOKOnly, 查找失败! End If实习目的项目准备实习过程实习过程心得体会4、生成分数单代码、生成分数单代码 本段代码实现在“分数单”表中生成分数单。当单击“生成分数单”按钮后将生成一个学生成绩的分数单。 Dim tempX As IntegerDim tempY As IntegerDim tempZ As IntegertempZ = 3tempY = 4While (Not IsEmpty(Sheets(学生分数表).Cells(tempZ, 1

25、).Value) tempX = 1 While (Not IsEmpty(Sheets(学生分数表).Cells(2, tempX).Value) Sheets(分数单).Cells(tempY, tempX).Value = Sheets(学生分数表).Cells(2, tempX).Value Sheets(分数单).Cells(tempY + 1, tempX).Value = Sheets(学生分数表).Cells(tempZ, tempX).Value tempX = tempX + 1 Wend tempY = tempY + 2 tempZ = tempZ + 1 Wend 实

26、习目的项目准备实习过程实习过程心得体会5、统计表设计代码、统计表设计代码使用统计表对学生考试情况的整体分析,主要代码设计 :While (Not IsEmpty(Sheets(学生信息表).Cells(L, 1).Value) If (一班 = Sheets(学生信息表).Cells(L, 4).Value) Then bji1 = bji1 + 1 H = 3 While (Not IsEmpty(Sheets(学生分数表).Cells(H, 1).Value) If (Sheets(学生信息表).Cells(L, 1).Value = Sheets(学生分数表).Cells(H, 1).V

27、alue) Then bji1fs = bji1fs + CInt(Sheets(学生分数表).Cells(H, 10).Value) End If H = H + 1 Wend ElseIf (二班 = Sheets(学生信息表).Cells(L, 4).Value) Then bji2 = bji2 + 1 H = 3 While (Not IsEmpty(Sheets(学生分数表).Cells(H, 1).Value) If (Sheets(学生信息表).Cells(L, 1).Value = Sheets(学生分数表).Cells(H, 1).Value) Then bji2fs =

28、bji2fs + CInt(Sheets(学生分数表).Cells(H, 10).Value) End If H = H + 1 Wend ElseIf (三班 = Sheets(学生信息表).Cells(L, 4).Value) Then bji3 = bji3 + 1 H = 3 While (Not IsEmpty(Sheets(学生分数表).Cells(H, 1).Value) If (Sheets(学生信息表).Cells(L, 1).Value = Sheets(学生分数表).Cells(H, 1).Value) Then bji3fs = bji3fs + CInt(Sheets

29、(学生分数表).Cells(H, 10).Value) End If H = H + 1 Wend ElseIf (四班 = Sheets(学生信息表).Cells(L, 4).Value) Then bji4 = bji4 + 1 H = 3 While (Not IsEmpty(Sheets(学生分数表).Cells(H, 1).Value) If (Sheets(学生信息表).Cells(L, 1).Value = Sheets(学生分数表).Cells(H, 1).Value) Then bji4fs = bji4fs + CInt(Sheets(学生分数表).Cells(H, 10)

30、.Value) End If H = H + 1 Wend End If If (男 = Sheets(学生信息表).Cells(L, 3).Value) Then nan = nan + 1 H = 3 While (Not IsEmpty(Sheets(学生分数表).Cells(H, 1).Value) If (Sheets(学生信息表).Cells(L, 1).Value = Sheets(学生分数表).Cells(H, 1).Value) Then nanfs = nanfs + CInt(Sheets(学生分数表).Cells(H, 10).Value) End If H = H +

31、 1 Wend ElseIf (女 = Sheets(学生信息表).Cells(L, 3).Value) Then nv = nv + 1 H = 3 While (Not IsEmpty(Sheets(学生分数表).Cells(H, 1).Value) If (Sheets(学生信息表).Cells(L, 1).Value = Sheets(学生分数表).Cells(H, 1).Value) Then nvfs = nvfs + CInt(Sheets(学生分数表).Cells(H, 10).Value) End If H = H + 1 Wend End If L = L + 1 Wend 此段代码实现在学生信息表中循环查找记录和循环查找分数记录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论