怎样用EXCEL开发管理信息系统方案文档格式.docx
《怎样用EXCEL开发管理信息系统方案文档格式.docx》由会员分享,可在线阅读,更多相关《怎样用EXCEL开发管理信息系统方案文档格式.docx(43页珍藏版)》请在冰点文库上搜索。
系统保护功能:
具有口令保护、工作表保护以防非法用户进入和修改。
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:
=p校"
C331)
在C339单元格输入下面公式,拖动填充柄复制公式至L339。
=l校外"
=p校外"
C331)
在C340单元格输入下面公式,拖动填充柄复制公式至L340。
在C341单元格输入下面公式,拖动填充柄复制公式至L341。
查表档案界面如(下图)所示:
选定一个工作表并命名为“档案”。
制表(如图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"
按钮3"
ibda"
'
ActiveSheet.DrawingObjects("
按钮5"
Selection.OnAction="
退出"
按钮4"
报表查询"
ActiveSheet.Protect
记录单"
ExitSub
ElseIfx="
Then
MsgBox"
请输入密码"
Else
EndIf
Nexty2
EndSub‘以上是根据密码正确与否选择执行代码段
Sub返回1()‘指定给返回按钮
EndSub
Sub存档()?
指定给记录单上的存档按钮
thecode=vbYesNo+vbDefaultButton2+vbExclamation+vbapplicationmodel
MsgBox"
请对输入进行检查,是否正确?
thecode
thereply=MsgBox(prompt:
="
Buttons:
=thecode)
SelectCasethereply
CasevbYes
m=Worksheets("
c5"
n=Worksheets("
d5"
Ifm<
>
"
Andn<
c5:
d330"
Selection.Copy
ElseIfm<
Andn="
c330"
ElseIfm="
d5:
报表"
Worksheets("
e6"
Selection.PasteSpecial
f6"
档案"
y1=Worksheets("
c2"
).Value
x=0
DoUntilz=y1
x=x+1
z=Worksheets("
).Cells(2,x).Value
Loop
).Cells(4,x).Select
).Cells(4,x+1).Select
CasevbNo
EndSelect
EndSub‘以上代码是把录入数据存入主报表和查表档案
Sub返回2()‘指定给主报表上的返回主界面按钮
Sub取电表底()‘指定给主报表上的取电表底按钮
y=InputBox("
请输入电表底(y0,1,2...12):
Ify="
y0"
Range("
c4:
c329"
c6"
ElseIfy="
1"
e4:
e329"
2"
g4:
g329"
3"
i4:
i329"
4"
k4:
k329"
5"
m4:
m329"
6"
o4:
o329"
7"
q4:
q329"
8"
s4:
s329"
9"
u4:
u329"
10"
w4:
w329"
11"
y4:
y329"
12"
aa4:
aa329"
WithApplication
.Calculation=xlAutomatic
.MaxChange=.001
EndWith
ActiveWorkbook.PrecisionAsDisplayed=False
EndSub‘以上代码是使用选择语句从查表档案中取电表底
Sub取水表底()‘指定给主报表上的取电表底按钮
u=InputBox("
请输入水表底(y0,1,2...12):
Ifu="
d4:
d329"
d6"
ElseIfu="
f4:
f329"
h4:
h329"
j4:
j329"
l4:
l329"
n4:
n329"
p4:
p329"
r4:
r329"
t4:
t329"
v4:
v329"
x4:
x329"
z4:
z329"
ab4:
ab329"
EndSub‘以上代码是使用选择语句从查表档案中取水表底
Subbsy()‘由报表存档过程调用
x=3
DoWhileNot(IsEmpty(Worksheets("