怎样用EXCEL开发管理信息系统方案.docx
- 文档编号:1007066
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:43
- 大小:175.67KB
怎样用EXCEL开发管理信息系统方案.docx
《怎样用EXCEL开发管理信息系统方案.docx》由会员分享,可在线阅读,更多相关《怎样用EXCEL开发管理信息系统方案.docx(43页珍藏版)》请在冰点文库上搜索。
怎样用EXCEL开发管理信息系统方案
用EXCEL开发管理信息系统
摘要:
Excel97是Windows95环境下的一种电子表格软件,可向用户提供史无前例的超强功能和易用性,嵌有一种VisualBasicforApplication(简称VBA)超级宏语言,读者在熟练应用Excel的基础上,可按用户的需求用VBA建立适用的信息系统。
关键词:
EXCEL97VBA管理信息系统(MIS)
目前国管理信息系统(MIS)开发研制一般采用人们熟悉的dBaseX、Foxbase或Foxpro等,本文介绍了如何用Excel开发MIS。
一般来说,一套MIS主要包括信息输入、信息处理、信息输出三大组成部分,用Excel处理这些部分均显得游刃有余。
Excel是Windows环境下的一种电子表格软件,可向用户提供史无前例的超强功能和易用性。
它同时具有电子数据表、图表和数据库的功能,具有极强的分析性能、报表制作工具和丰富的统计图表。
在本文笔者用中文Excel97forWindows开发了水电管理系统、销售管理系统、试卷分析系统。
充分感受到其强大功能和方便性。
下面详细阐述水电管理系统、销售管理系统、试卷分析系统的开发过程。
应用程序一:
水电计价系统
水电管理是每一个单位每月都要进行的工作。
下面我们以农校水电计价系统为例讲解VBA在水电管理中的应用。
1、水电计价系统的功能
本程序具有如下功能:
自动计算功能:
可完成各户水费、电费、合计的计算。
自动汇总功能:
自动汇总全校教职工楼的用电量、用水量与分类汇总。
查询功能:
可查询各户的电表数、水表数、电费数、水费数。
报表的打印输出功能。
系统保护功能:
具有口令保护、工作表保护以防非法用户进入和修改。
2、程序设计过程
(1)程序总体设计(图1)
(2)界面设计
水电计价系统主界面如图2所示。
(图2)
主界面是以EXCEL工作表作为输入输出界面。
具体设计如下:
选定一个工作表并命名为“主界面”。
选定单元格区域,把区域颜色设置成你喜欢的颜色。
放置命令按钮,并给按钮指定宏。
分割区域并冻结,锁定界面使之不能滚动。
工作表加密保护使用户不能修改。
记录单界面如(图3)所示。
具体设计过程如下:
选定一个工作表并命名为“记录单”。
制表(如上图所示)。
选定年、月、水表数、电表数空白单元格区域,取消锁定。
放置命令按钮,并给按钮指定宏。
工作表保护使用户不能修改。
主报表如(图4、图5)所示。
具体设计过程如下:
选定一个工作表并命名为“主报表”。
制表(如上图所示)。
纵向冻结A、B两列,横向冻结1-5行。
放置命令按钮,并给按钮指定宏。
输入公式:
计算上次表底、本月查表记录、水电用量、水、电费、水电费合计的校、校外合计、楼房合计、平房合计。
在C338单元格输入下面公式,拖动填充柄复制公式至L338。
=SUMIF($M$6:
$M$331,"=l校",C6:
C331)+SUMIF($M$6:
$M$331,"=p校",C6:
C331)
在C339单元格输入下面公式,拖动填充柄复制公式至L339。
=SUMIF($M$6:
$M$331,"=l校外",C6:
C331)+SUMIF($M$6:
$M$331,"=p校外",C6:
C331)
在C340单元格输入下面公式,拖动填充柄复制公式至L340。
=SUMIF($M$6:
$M$331,"=l校外",C6:
C331)+SUMIF($M$6:
$M$331,"=l校",C6:
C331)
在C341单元格输入下面公式,拖动填充柄复制公式至L341。
=SUMIF($M$6:
$M$331,"=p校外",C6:
C331)+SUMIF($M$6:
$M$331,"=p校",C6:
C331)
工作表保护使用户不能修改。
查表档案界面如(下图)所示:
具体设计过程如下:
选定一个工作表并命名为“档案”。
制表(如图6所示)。
纵向冻结A、B两列,横向冻结1-3行。
放置命令按钮,并给按钮指定宏。
工作表保护使用户不能修改。
查询档案如(下图)所示:
具体设计过程如下:
选定一个工作表并命名为“查询”。
制表(如图7所示)。
纵向冻结A列,横向冻结1-3行。
放置命令按钮,并给按钮指定宏。
工作表保护使用户不能修改。
(3)、水电计价系统的VBA代码与说明
DimsAsVariant
DimyAsVariant
DimuAsVariant‘模块级变量声明
Subshuru()?
指定给主界面输入按钮
s=Worksheets("主界面").Range("v1").Value‘获取密码
Fory2=1To2
x=InputBox("请输入密码:
","农校水电计价系统")
Ifx=sThen
Worksheets("主界面").Activate
ActiveSheet.Unprotect
ActiveSheet.DrawingObjects("按钮2").Select
Selection.OnAction="vbb"
ActiveSheet.DrawingObjects("按钮3").Select
Selection.OnAction="ibda"
'ActiveSheet.DrawingObjects("按钮5").Select
'Selection.OnAction="退出"
ActiveSheet.DrawingObjects("按钮4").Select
Selection.OnAction="报表查询"
ActiveSheet.Protect
Worksheets("记录单").Activate
ExitSub
ElseIfx=""Then
MsgBox"请输入密码"
Else
ExitSub
EndIf
Nexty2
EndSub‘以上是根据密码正确与否选择执行代码段
Sub返回1()‘指定给返回按钮
Worksheets("主界面").Activate
EndSub
Sub存档()?
指定给记录单上的存档按钮
thecode=vbYesNo+vbDefaultButton2+vbExclamation+vbapplicationmodel
'MsgBox"请对输入进行检查,是否正确?
",thecode
thereply=MsgBox(prompt:
="请对输入进行检查,是否正确?
",Buttons:
=thecode)
SelectCasethereply
CasevbYes
m=Worksheets("记录单").Range("c5")
n=Worksheets("记录单").Range("d5")
Ifm<>""Andn<>""Then
Worksheets("记录单").Range("c5:
d330").Select
Selection.Copy
ElseIfm<>""Andn=""Then
Worksheets("记录单").Range("c5:
c330").Select
Selection.Copy
ElseIfm=""Andn<>""Then
Worksheets("记录单").Range("d5:
d330").Select
Selection.Copy
ElseIfm=""Andn=""Then
ExitSub
Else
EndIf
Worksheets("报表").Activate
ActiveSheet.Unprotect
Ifm<>""Andn<>""Then
'Worksheets("报表").Activate
Worksheets("报表").Range("e6").Select
Selection.PasteSpecial
ElseIfm<>""Andn=""Then
Worksheets("报表").Activate
Worksheets("报表").Range("e6").Select
Selection.PasteSpecial
ElseIfm=""Andn<>""Then
Worksheets("报表").Activate
Worksheets("报表").Range("f6").Select
Selection.PasteSpecial
Else
EndIf
Worksheets("档案").Activate
y1=Worksheets("记录单").Range("c2").Value
x=0
DoUntilz=y1
x=x+1
z=Worksheets("档案").Cells(2,x).Value
Loop
Ifm<>""Andn<>""Then
Worksheets("档案").Cells(4,x).Select
Selection.PasteSpecial
ElseIfm=""Andn<>""Then
Worksheets("档案").Cells(4,x+1).Select
Selection.PasteSpecial
ElseIfm<>""Andn=""Then
Worksheets("档案").Cells(4,x).Select
Selection.PasteSpecial
Else
EndIf
Worksheets("主界面").Activate
CasevbNo
EndSelect
ExitSub
EndSub‘以上代码是把录入数据存入主报表和查表档案
Sub返回2()‘指定给主报表上的返回主界面按钮
ActiveSheet.Unprotect
Worksheets("主界面").Activate
EndSub
Sub取电表底()‘指定给主报表上的取电表底按钮
y=InputBox("请输入电表底(y0,1,2...12):
","农校水电计价系统")
ActiveSheet.Unprotect
Ify="y0"Then
Worksheets("档案").Activate
Range("c4:
c329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="1"Then
Worksheets("档案").Activate
Range("e4:
e329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="2"Then
Worksheets("档案").Activate
Range("g4:
g329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="3"Then
Worksheets("档案").Activate
Range("i4:
i329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="4"Then
Worksheets("档案").Activate
Range("k4:
k329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="5"Then
Worksheets("档案").Activate
Range("m4:
m329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="6"Then
Worksheets("档案").Activate
Range("o4:
o329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="7"Then
Worksheets("档案").Activate
Range("q4:
q329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="8"Then
Worksheets("档案").Activate
Range("s4:
s329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="9"Then
Worksheets("档案").Activate
Range("u4:
u329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="10"Then
Worksheets("档案").Activate
Range("w4:
w329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="11"Then
Worksheets("档案").Activate
Range("y4:
y329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy="12"Then
Worksheets("档案").Activate
Range("aa4:
aa329").Select
Selection.Copy
Worksheets("报表").Activate
Range("c6").Select
Selection.PasteSpecial
ElseIfy=""Then
ActiveSheet.Protect
ExitSub
Else
EndIf
WithApplication
.Calculation=xlAutomatic
.MaxChange=.001
EndWith
ActiveWorkbook.PrecisionAsDisplayed=False
ActiveSheet.Protect
EndSub‘以上代码是使用选择语句从查表档案中取电表底
Sub取水表底()‘指定给主报表上的取电表底按钮
ActiveSheet.Unprotect
u=InputBox("请输入水表底(y0,1,2...12):
","农校水电计价系统")
Ifu="y0"Then
Worksheets("档案").Activate
Range("d4:
d329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="1"Then
Worksheets("档案").Activate
Range("f4:
f329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="2"Then
Worksheets("档案").Activate
Range("h4:
h329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="3"Then
Worksheets("档案").Activate
Range("j4:
j329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="4"Then
Worksheets("档案").Activate
Range("l4:
l329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="5"Then
Worksheets("档案").Activate
Range("n4:
n329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="6"Then
Worksheets("档案").Activate
Range("p4:
p329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="7"Then
Worksheets("档案").Activate
Range("r4:
r329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="8"Then
Worksheets("档案").Activate
Range("t4:
t329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="9"Then
Worksheets("档案").Activate
Range("v4:
v329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="10"Then
Worksheets("档案").Activate
Range("x4:
x329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="11"Then
Worksheets("档案").Activate
Range("z4:
z329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu="12"Then
Worksheets("档案").Activate
Range("ab4:
ab329").Select
Selection.Copy
Worksheets("报表").Activate
Range("d6").Select
Selection.PasteSpecial
ElseIfu=""Then
ActiveSheet.Protect
ExitSub
Else
EndIf
WithApplication
.Calculation=xlAutomatic
.MaxChange=.001
EndWith
ActiveWorkbook.PrecisionAsDisplayed=False
ActiveSheet.Protect
EndSub‘以上代码是使用选择语句从查表档案中取水表底
Subbsy()‘由报表存档过程调用
Worksheets("主界面").Activate
x=3
DoWhileNot(IsEmpty(Worksheets("主界面"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 怎样用 EXCEL 开发 管理信息系统 方案
![提示](https://static.bingdoc.com/images/bang_tan.gif)