怎样用EXCEL开发管理信息系统.docx

上传人:b****8 文档编号:10895422 上传时间:2023-02-23 格式:DOCX 页数:57 大小:242.74KB
下载 相关 举报
怎样用EXCEL开发管理信息系统.docx_第1页
第1页 / 共57页
怎样用EXCEL开发管理信息系统.docx_第2页
第2页 / 共57页
怎样用EXCEL开发管理信息系统.docx_第3页
第3页 / 共57页
怎样用EXCEL开发管理信息系统.docx_第4页
第4页 / 共57页
怎样用EXCEL开发管理信息系统.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

怎样用EXCEL开发管理信息系统.docx

《怎样用EXCEL开发管理信息系统.docx》由会员分享,可在线阅读,更多相关《怎样用EXCEL开发管理信息系统.docx(57页珍藏版)》请在冰豆网上搜索。

怎样用EXCEL开发管理信息系统.docx

怎样用EXCEL开发管理信息系统

UpdatedbyJackonDecember25,2020at10:

00am

 

怎样用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)程序总体设计()

  

(2)界面设计

  水电计价系统主界面如图2所示。

()

  主界面是以EXCEL工作表作为输入输出界面。

  具体设计如下:

  选定一个工作表并命名为“主界面”。

  选定单元格区域,把区域颜色设置成你喜欢的颜色。

  放置命令按钮,并给按钮指定宏。

  分割区域并冻结,锁定界面使之不能滚动。

  工作表加密保护使用户不能修改。

  记录单界面如()所示。

  具体设计过程如下:

  选定一个工作表并命名为“记录单”。

  制表(如上图所示)。

  选定年、月、水表数、电表数空白单元格区域,取消锁定。

  放置命令按钮,并给按钮指定宏。

  工作表保护使用户不能修改。

  主报表如(、)所示。

  具体设计过程如下:

  选定一个工作表并命名为“主报表”。

  制表(如上图所示)。

  纵向冻结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)

  工作表保护使用户不能修改。

  查表档案界面如(下)所示:

  具体设计过程如下:

  选定一个工作表并命名为“档案”。

  制表(如所示)。

  纵向冻结A、B两列,横向冻结1-3行。

  放置命令按钮,并给按钮指定宏。

  工作表保护使用户不能修改。

  查询档案如(下)所示:

  

  具体设计过程如下:

  选定一个工作表并命名为“查询”。

  制表(如所示)。

  纵向冻结A列,横向冻结1-3行。

  放置命令按钮,并给按钮指定宏。

  工作表保护使用户不能修改。

  (3)、水电计价系统的VBA代码及说明

  DimsAsVariant

  DimyAsVariant

  DimuAsVariant‘模块级变量声明

  Subshuru()

指定给主界面输入按钮

  s=Worksheets("主界面").Range("v1").Value‘获取密码

  Fory2=1To2

  x=InputBox("请输入密码:

","保定农校水电计价系统")

  Ifx=sThen

  Worksheets("主界面").Activate

  

  ("按钮2").Select

  ="vbb"

  ("按钮3").Select

  ="ibda"

  '("按钮5").Select

  '="退出"

  ("按钮4").Select

  ="报表查询"

  

  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

  

  ElseIfm<>""Andn=""Then

  Worksheets("记录单").Range("c5:

c330").Select

  

  ElseIfm=""Andn<>""Then

  Worksheets("记录单").Range("d5:

d330").Select

  

  ElseIfm=""Andn=""Then

  ExitSub

  Else

  EndIf

  Worksheets("报表").Activate

  

  Ifm<>""Andn<>""Then

  'Worksheets("报表").Activate

  Worksheets("报表").Range("e6").Select

  

  ElseIfm<>""Andn=""Then

  Worksheets("报表").Activate

  Worksheets("报表").Range("e6").Select

  

  ElseIfm=""Andn<>""Then

  Worksheets("报表").Activate

  Worksheets("报表").Range("f6").Select

  

  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

  

  ElseIfm=""Andn<>""Then

  Worksheets("档案").Cells(4,x+1).Select

  

  ElseIfm<>""Andn=""Then

  Worksheets("档案").Cells(4,x).Select

  

  Else

  EndIf

  Worksheets("主界面").Activate

  CasevbNo

  EndSelect

  ExitSub

  EndSub‘以上代码是把录入数据存入主报表和查表档案

  Sub返回2()‘指定给主报表上的返回主界面按钮

  

  Worksheets("主界面").Activate

  EndSub

   

  Sub取电表底()‘指定给主报表上的取电表底按钮

  y=InputBox("请输入电表底(y0,1,2...12):

","保定农校水电计价系统")

  

  Ify="y0"Then

  Worksheets("档案").Activate

  Range("c4:

c329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="1"Then

  Worksheets("档案").Activate

  Range("e4:

e329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="2"Then

  Worksheets("档案").Activate

  Range("g4:

g329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="3"Then

  Worksheets("档案").Activate

  Range("i4:

i329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="4"Then

  Worksheets("档案").Activate

  Range("k4:

k329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="5"Then

  Worksheets("档案").Activate

  Range("m4:

m329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="6"Then

  Worksheets("档案").Activate

  Range("o4:

o329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="7"Then

  Worksheets("档案").Activate

  Range("q4:

q329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="8"Then

  Worksheets("档案").Activate

  Range("s4:

s329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="9"Then

  Worksheets("档案").Activate

  Range("u4:

u329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="10"Then

  Worksheets("档案").Activate

  Range("w4:

w329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="11"Then

  Worksheets("档案").Activate

  Range("y4:

y329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy="12"Then

  Worksheets("档案").Activate

  Range("aa4:

aa329").Select

  

  Worksheets("报表").Activate

  Range("c6").Select

  

  ElseIfy=""Then

  

  ExitSub

  Else

  EndIf

  WithApplication

  .Calculation=xlAutomatic

  .MaxChange=.001

  EndWith

  =False

  

  EndSub‘以上代码是使用选择语句从查表档案中取电表底

  Sub取水表底()‘指定给主报表上的取电表底按钮

  

  u=InputBox("请输入水表底(y0,1,2...12):

","保定农校水电计价系统")

  Ifu="y0"Then

  Worksheets("档案").Activate

  Range("d4:

d329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="1"Then

  Worksheets("档案").Activate

  Range("f4:

f329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="2"Then

  Worksheets("档案").Activate

  Range("h4:

h329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="3"Then

  Worksheets("档案").Activate

  Range("j4:

j329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="4"Then

  Worksheets("档案").Activate

  Range("l4:

l329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="5"Then

  Worksheets("档案").Activate

  Range("n4:

n329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="6"Then

  Worksheets("档案").Activate

  Range("p4:

p329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="7"Then

  Worksheets("档案").Activate

  Range("r4:

r329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="8"Then

  Worksheets("档案").Activate

  Range("t4:

t329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="9"Then

  Worksheets("档案").Activate

  Range("v4:

v329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="10"Then

  Worksheets("档案").Activate

  Range("x4:

x329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="11"Then

  Worksheets("档案").Activate

  Range("z4:

z329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu="12"Then

  Worksheets("档案").Activate

  Range("ab4:

ab329").Select

  

  Worksheets("报表").Activate

  Range("d6").Select

  

  ElseIfu=""Then

  

  ExitSub

  Else

  EndIf

  WithApplication

  .Calculation=xlAutomatic

  .MaxChange=.001

  EndWith

  =False

  

  EndSub‘以上代码是使用选择语句从查表档案中取水表底

  Subbsy()‘由报表存档过程调用

  Worksheets("主界面").Activate

  x=3

  DoWhileNot(IsEmpty(Worksheets("主界面").Cells(11,x).Value))

  x=x+1

  Loop

  Worksheets("主界面").Cells(11,x).Value=Worksheets("记录单").Range("c2")

  Worksheets("主界面").Cells(11,x+1).Value="月"

  Worksheets("主界面").Cells(12,x).Value=u

  Worksheets("主界面").Cells(13,x).Value=y

  Worksheets("主界面").Cells(12,x+1).Value="月"

  Worksheets("主界面").Cells(13,x+1).Value="月"

  Worksheets("报表").Activate

  Range("c3:

f5").Select

  

  Range("c334:

f336").Select

  

  Range("a1").Select

  =6

  

  EndSub‘以上代码是把报表月份和表底月份放入主界面上的表格里

  Sub返回3()指定给返回主界面按钮

  

  Worksheets("主界面").Activate

  EndSub

  Sub打印设置()‘指定给主界面上的打印设置按钮

  With

  .PrintTitleRows="$1:

$5"

  .PrintTitleColumns=""

  EndWith

  =""

  With

  .LeftHeader=""

  .CenterHeader="水电计价系统"

  .RightHeader="第&P页"

  .LeftFooter=""

  .CenterFooter=""

  .RightFooter=""

  .LeftMargin=

  .RightMargin=(.96063)

  .TopM

  .

  .HeaderMargin=(.5118110

  .

  .PrintHeadings=False

  .PrintGridlines=False

  .PrintNotes=False

  .PrintQuality=Array(360,180)

  .CenterHorizontally=True

  .CenterVertically=False

  .Orientation=xlPortrait

  .Draft=False

  .PaperSize=xlPaperUser

  .FirstPageNumber=xlAutomatic

  .Order=xlDownThenOver

  .BlackAndWhite=False

  .Zoom=100

  EndWith

  EndSub‘进行打印设置

  Subvbb()‘指定给主界面上的主报表按钮

  Worksheets("报表").Activate

  

  EndSub‘激活主报表

  Subibda()‘指定给主界面上的报表查询按钮

  Worksheets("档案").Activate

  

  EndSub‘激活档案工作表

  Sub打印()‘

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

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

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