怎样用EXCEL开发管理信息系统_第1页
怎样用EXCEL开发管理信息系统_第2页
怎样用EXCEL开发管理信息系统_第3页
怎样用EXCEL开发管理信息系统_第4页
怎样用EXCEL开发管理信息系统_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、 用EXCEL开发管理信息系统摘 要:Excel97是Windows95环境下的一种电子表格软件,可向用户提供史无前例的超强功能和易用性,内嵌有一种Visual Basic for Application(简称VBA)超级宏语言,读者在熟练应用Excel的基础上,可按用户的需求用VBA建立适用的信息系统。关键词:EXCEL97 VBA 管理信息系统(MIS)目前国内管理信息系统(MIS)开发研制一般采用人们熟悉的dBaseX、Foxbase或Foxpro等,本文介绍了如何用Excel开发MIS。一般来说,一套MIS主要包括信息输入、信息处理、信息输出三大组成部分,用Excel处理这些部分均显得

2、游刃有余。Excel是Windows环境下的一种电子表格软件,可向用户提供史无前例的超强功能和易用性。它同时具有电子数据表、图表和数据库的功能,具有极强的分析性能、报表制作工具和丰富的统计图表。在本文笔者用中文Excel97 for Windows开发了水电管理系统、销售管理系统、试卷分析系统。充分感受到其强大功能和方便性。下面详细阐述水电管理系统、销售管理系统、试卷分析系统的开发过程。应用程序一:水电计价系统水电管理是每一个单位每月都要进行的工作。 下面我们以保定农校水电计价系统为例讲解VBA在水电管理中的应用。1、 水电计价系统的功能本程序具有如下功能:自动计算功能:可完成各户水费、电费、

3、合计的计算。自动汇总功能:自动汇总全校教职工楼的用电量、用水量及分类汇总。查询功能:可查询各户的电表数、水表数、电费数、水费数。报表的打印输出功能。系统保护功能:具有口令保护、工作表保护以防非法用户进入和修改。2、 程序设计过程(1)程序总体设计( HYPERLINK t _blank 图1)(2)界面设计水电计价系统主界面如图2所示。( HYPERLINK rj/image/excel6.png 图2)主界面面是以EEXCEEL工作作表作为为输入输输出界面面。具体设设计如下下:选定一一个工作作表并命命名为“主主界面”。选定单元格区域,把区域颜色设置成你喜欢的颜色。放置命令按钮,并给按钮指定宏

4、。分割区域并冻结,锁定界面使之不能滚动。工作表加密保护使用户不能修改。记录单界面如( HYPERLINK t _blank 图3)所示。具体设设计过程程如下:选选定一个个工作表表并命名名为“记记录单”。制表(如上图所示 )。选定年、月、水表数、电表数空白单元格区域,取消锁定。放置命令按钮,并给按钮指定宏。工作表保护使用户不能修改。主报表如( HYPERLINK t _blank 图4、 HYPERLINK t _blank 图5)所示。具体设设计过程程如下:选选定一个个工作表表并命名名为“主主报表”。制表(如上图所示 )。纵向冻结A、B两列,横向冻结1-5行。放置命令按钮,并给按钮指定宏。输入

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:C33

6、1)+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)工作表保护使用户不能修改。查表档案界面如(下 HYPERLINK cel10.png 图)所示:具体设计过程如下:选定一个工作表并命名为“档案”。制表(如 HYPERLINK t _blank 图6所示 )。纵向冻冻结A、BB两列,横横向冻结结1-33行。放置置命令按按钮,并并给按钮钮指定宏宏。工作表表保护使使用户不不能修改改。查询档档案如(

7、下 HYPERLINK t _blank 图)所示:具体设计过程如下:选定一个工作表并命名为“查询”。制表(如 HYPERLINK t _blank 图7所示 )。纵向冻冻结A列列,横向向冻结11-3行行。放置命命令按钮钮,并给给按钮指指定宏。工作表保护使用户不能修改。(3)、水电计价系统的VBA代码及说明Dim s As VariantDim y As VariantDim u As Variant 模块级变量声明Sub shuru() ?指定给主界面输入按钮s = Worksheets(主界面).Range(v1).Value 获取密码For y2 = 1 To 2x = InputBox

8、(请输入密码:, 保定农校水电计价系统)If x = s ThenWorksheets(主界面).ActivateActiveSheet.UnprotectActiveSheet.DrawingObjects(按钮 2).SelectSelection.OnAction = vbbActiveSheet.DrawingObjects(按钮 3).SelectSelection.OnAction = ibdaActiveSheet.DrawingObjects(按钮 5).SelectSelection.OnAction = 退出ActiveSheet.DrawingObjects(按钮 4).

9、SelectSelection.OnAction = 报表查询ActiveSheet.ProtectWorksheets(记录单).ActivateExit SubElseIf x = ThenMsgBox 请输入密码ElseExit SubEnd IfNext y2End Sub 以上是根据密码正确与否选择执行代码段Sub 返回1() 指定给返回按钮Worksheets(主界面).ActivateEnd SubSub 存档() ?指定给记录单上的存档按钮thecode = vbYesNo + vbDefaultButton2 + vbExclamation + vbapplicationmo

10、delMsgBox 请对输入进行检查,是否正确?, thecodethereply = MsgBox(prompt:=请对输入进行检查,是否正确?, Buttons:=thecode)Select Case thereplyCase vbYesm = Worksheets(记录单).Range(c5)n = Worksheets(记录单).Range(d5)If m And n ThenWorksheets(记录单).Range(c5:d330).SelectSelection.CopyElseIf m And n = ThenWorksheets(记录单).Range(c5:c330).Se

11、lectSelection.CopyElseIf m = And n ThenWorksheets(记录单).Range(d5:d330).SelectSelection.CopyElseIf m = And n = ThenExit SubElseEnd IfWorksheets(报表).ActivateActiveSheet.UnprotectIf m And n ThenWorksheets(报表).ActivateWorksheets(报表).Range(e6).SelectSelection.PasteSpecialElseIf m And n = ThenWorksheets(报表

12、).ActivateWorksheets(报表).Range(e6).SelectSelection.PasteSpecialElseIf m = And n ThenWorksheets(报表).ActivateWorksheets(报表).Range(f6).SelectSelection.PasteSpecialElseEnd IfWorksheets(档案).Activatey1 = Worksheets(记录单).Range(c2).Valuex = 0Do Until z = y1x = x + 1z = Worksheets(档案).Cells(2, x).ValueLoopIf

13、 m And n ThenWorksheets(档案).Cells(4, x).SelectSelection.PasteSpecialElseIf m = And n ThenWorksheets(档案).Cells(4, x + 1).SelectSelection.PasteSpecialElseIf m And n = ThenWorksheets(档案).Cells(4, x).SelectSelection.PasteSpecialElseEnd IfWorksheets(主界面).ActivateCase vbNoEnd SelectExit SubEnd Sub 以上代码是把录

14、入数据存入主报表和查表档案Sub 返回2() 指定给主报表上的返回主界面按钮ActiveSheet.UnprotectWorksheets(主界面).ActivateEnd SubSub 取电表底() 指定给主报表上的取电表底按钮y = InputBox(请输入电表底(y0,1,2.12):, 保定农校水电计价系统)ActiveSheet.UnprotectIf y = y0 ThenWorksheets(档案).ActivateRange(c4:c329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection

15、.PasteSpecialElseIf y = 1 ThenWorksheets(档案).ActivateRange(e4:e329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection.PasteSpecialElseIf y = 2 ThenWorksheets(档案).ActivateRange(g4:g329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection.PasteSpecialElseIf y = 3 Th

16、enWorksheets(档案).ActivateRange(i4:i329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection.PasteSpecialElseIf y = 4 ThenWorksheets(档案).ActivateRange(k4:k329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection.PasteSpecialElseIf y = 5 ThenWorksheets(档案).ActivateRan

17、ge(m4:m329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection.PasteSpecialElseIf y = 6 ThenWorksheets(档案).ActivateRange(o4:o329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection.PasteSpecialElseIf y = 7 ThenWorksheets(档案).ActivateRange(q4:q329).SelectSelection.

18、CopyWorksheets(报表).ActivateRange(c6).SelectSelection.PasteSpecialElseIf y = 8 ThenWorksheets(档案).ActivateRange(s4:s329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection.PasteSpecialElseIf y = 9 ThenWorksheets(档案).ActivateRange(u4:u329).SelectSelection.CopyWorksheets(报表).ActivateR

19、ange(c6).SelectSelection.PasteSpecialElseIf y = 10 ThenWorksheets(档案).ActivateRange(w4:w329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection.PasteSpecialElseIf y = 11 ThenWorksheets(档案).ActivateRange(y4:y329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection.P

20、asteSpecialElseIf y = 12 ThenWorksheets(档案).ActivateRange(aa4:aa329).SelectSelection.CopyWorksheets(报表).ActivateRange(c6).SelectSelection.PasteSpecialElseIf y = ThenActiveSheet.ProtectExit SubElseEnd IfWith Application.Calculation = xlAutomatic.MaxChange = .001End WithActiveWorkbook.PrecisionAsDispl

21、ayed = FalseActiveSheet.ProtectEnd Sub 以上代码是使用选择语句从查表档案中取电表底Sub 取水表底() 指定给主报表上的取电表底按钮ActiveSheet.Unprotectu = InputBox(请输入水表底(y0,1,2.12):, 保定农校水电计价系统)If u = y0 ThenWorksheets(档案).ActivateRange(d4:d329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = 1 Then

22、Worksheets(档案).ActivateRange(f4:f329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = 2 ThenWorksheets(档案).ActivateRange(h4:h329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = 3 ThenWorksheets(档案).ActivateRange

23、(j4:j329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = 4 ThenWorksheets(档案).ActivateRange(l4:l329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = 5 ThenWorksheets(档案).ActivateRange(n4:n329).SelectSelection.Co

24、pyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = 6 ThenWorksheets(档案).ActivateRange(p4:p329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = 7 ThenWorksheets(档案).ActivateRange(r4:r329).SelectSelection.CopyWorksheets(报表).ActivateRan

25、ge(d6).SelectSelection.PasteSpecialElseIf u = 8 ThenWorksheets(档案).ActivateRange(t4:t329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = 9 ThenWorksheets(档案).ActivateRange(v4:v329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.Paste

26、SpecialElseIf u = 10 ThenWorksheets(档案).ActivateRange(x4:x329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = 11 ThenWorksheets(档案).ActivateRange(z4:z329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = 12 ThenW

27、orksheets(档案).ActivateRange(ab4:ab329).SelectSelection.CopyWorksheets(报表).ActivateRange(d6).SelectSelection.PasteSpecialElseIf u = ThenActiveSheet.ProtectExit SubElseEnd IfWith Application.Calculation = xlAutomatic.MaxChange = .001End WithActiveWorkbook.PrecisionAsDisplayed = FalseActiveSheet.Protec

28、tEnd Sub 以上代码是使用选择语句从查表档案中取水表底Sub bsy() 由报表存档过程调用Worksheets(主界面).Activatex = 3Do While Not (IsEmpty(Worksheets(主界面).Cells(11, x).Value)x = x + 1LoopWorksheets(主界面).Cells(11, x).Value = Worksheets(记录单).Range(c2)Worksheets(主界面).Cells(11, x + 1).Value = 月Worksheets(主界面).Cells(12, x).Value = uWorksheets

29、(主界面).Cells(13, x).Value = yWorksheets(主界面).Cells(12, x + 1).Value = 月Worksheets(主界面).Cells(13, x + 1).Value = 月Worksheets(报表).ActivateRange(c3:f5).SelectSelection.CopyRange(c334:f336).SelectSelection.PasteSpecialRange(a1).SelectActiveWindow.ScrollRow = 6ActiveSheet.ProtectEnd Sub 以上代码是把报表月份和表底月份放入主

30、界面上的表格里Sub 返回3() ?指定给返回主界面按钮ActiveSheet.UnprotectWorksheets(主界面).ActivateEnd SubSub 打印设置() 指定给主界面上的打印设置按钮With ActiveSheet.PageSetup.PrintTitleRows = $1:$5.PrintTitleColumns = End WithActiveSheet.PageSetup.PrintArea = With ActiveSheet.PageSetup.LeftHeader = .CenterHeader = 水电计价系统.RightHeader = 第 &P 页

31、.LeftFooter = .CenterFooter = .RightFooter = .LeftMargin = Application.InchesToPoints(.15748031496063).RightMargin = Application.InchesToPoints(.15748031496063).TopMargin = Application.InchesToPoints(.984251968503937).BottomMargin = Application.InchesToPoints(.984251968503937).HeaderMargin = Applica

32、tion.InchesToPoints(.511811023622047).FooterMargin = Application.InchesToPoints(.511811023622047).PrintHeadings = False.PrintGridlines = False.PrintNotes = False.PrintQuality = Array(360, 180).CenterHorizontally = True.CenterVertically = False.Orientation = xlPortrait.Draft = False.PaperSize = xlPap

33、erUser.FirstPageNumber = xlAutomatic.Order = xlDownThenOver.BlackAndWhite = False.Zoom = 100End WithEnd Sub 进行打印设置Sub vbb() 指定给主界面上的主报表按钮Worksheets(报表).ActivateActiveSheet.ProtectEnd Sub 激活主报表Sub ibda() 指定给主界面上的报表查询按钮Worksheets(档案).ActivateActiveSheet.ProtectEnd Sub 激活档案工作表Sub 打印() 指定给主报表上的打印按钮d = I

34、nputBox(请选择打印项(“楼房校内1;楼房校外2;平房校内3;平房校外4”):, 打印选项窗口)If d = 1 ThenActiveSheet.UnprotectRange(A5:M331).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange _:=Range(c342:c343), Unique:=FalseActiveWindow.SelectedSheets.PrintOut Copies:=1ElseIf d = 2 ThenActiveSheet.UnprotectRange(A5:M331).AdvancedFilte

35、r Action:=xlFilterInPlace, CriteriaRange _:=Range(d342:d343), Unique:=FalseActiveWindow.SelectedSheets.PrintOut Copies:=1ElseIf d = 3 ThenActiveSheet.UnprotectRange(A5:M331).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange _:=Range(e342:e343), Unique:=FalseActiveWindow.SelectedSheets.PrintOut C

36、opies:=1ElseIf d = 4 ThenActiveSheet.UnprotectRange(A5:M331).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange _:=Range(f342:f343), Unique:=FalseActiveWindow.SelectedSheets.PrintOut Copies:=1ElseIf d 1 Or d 2 Or d 3 Or d 4 ThenMsgBox 打印项选择有误,请重选!BeepExit SubElseEnd IfActiveSheet.ShowAllDataActiv

37、eSheet.ProtectEnd Sub 进行选项打印Sub 退出() 指定给主界面上的退出按钮宏2 系统初始化的逆过程ActiveSheet.UnprotectActiveSheet.DrawingObjects(按钮 2).SelectSelection.OnAction = 撤销按钮2的指定宏ActiveSheet.DrawingObjects(按钮 3).SelectSelection.OnAction = 撤销按钮3的指定宏ActiveSheet.DrawingObjects(按钮 5).SelectSelection.OnAction = ActiveSheet.DrawingO

38、bjects(按钮 4).SelectSelection.OnAction = 撤销按钮4的指定宏ActiveSheet.Protectthecode = vbYesNo + vbDefaultButton2 + vbExclamation + vbapplicationmodelthereply = MsgBox(prompt:=是否存盘?(如果不是正式报表请选否!), Buttons:=thecode)Select Case thereplyCase vbYesdj = Worksheets(报表).Range($g$278).Valueuj = Worksheets(报表).Range(

39、$h$278).Valuezj = worksheets(报表).Range($h$332).Valueda = Worksheets(报表).Range($g$277).Valueub = Worksheets(报表).Range($h$277).ValueIf dj 0 Or uj 0 Or da 0 Or ub 0 ThenActiveWorkbook.SaveChDrive a:ActiveWorkbook.SaveAs SHUIDIAN.XLS, ,Password:=,WriteResPassword:=,ReadOnlyRecommended:= False, CreateBac

40、kup:=FalseApplication.QuitElseMsgBox 不是正式报表,不予存盘!Application.DisplayAlerts = FalseApplication.QuitEnd IfCase vbNoApplication.DisplayAlerts = FalseApplication.QuitEnd SelectEnd Sub 以上是执行退出存盘Sub 初始化() 指定给主界面上的系统初始化按钮定义界面 调用定义界面宏改变应用程序标题Worksheets(记录单).ActivateWorksheets(记录单).Range(c5:d330).SelectSelec

41、tion.ClearContentsWorksheets(报表).ActivateActiveSheet.UnprotectWorksheets(报表).Range(c6:f331).SelectSelection.ClearContentsWorksheets(主界面).Activate 以上代码是清除记录单和报表数据宏1调用宏1End SubSub 宏1()With Toolbars(1).Visible = False.Position = xlFloating.Left = 89.Top = 67End WithWith Toolbars(2).Visible = False.Posi

42、tion = xlFloating.Left = 79.Top = 78End WithActiveWindow.DisplayWorkbookTabs = FalseEnd Sub 宏2 Macro ykq记录宏1997/1/10 快捷键: Ctrl+eSub 宏2()ActiveWindow.DisplayWorkbookTabs = TrueToolbars(1).Visible = TrueToolbars(2).Visible = FalseWith Application.ShowToolTips = True.LargeButtons = False.ColorButtons =

43、 TrueEnd WithToolbars(1).Visible = TrueWith Toolbars(2).Visible = True.Position = xlTopEnd WithWith Application.ShowToolTips = True.LargeButtons = False.ColorButtons = TrueEnd WithToolbars(1).Position = xlTopWorksheets(主界面).ActivateEnd SubSub 定义界面()Application.Caption = 保定农校水电计价系统ActiveWindow.Captio

44、n = End Sub快捷键 ctrl+sSub 密码() 指定给主界面上的密码设置按钮d = InputBox(请输入旧密码:, 保定农校水电计价系统)If d = Worksheets(主界面).Range(v1).Value ThenFor x = 1 To 2a = InputBox(请输入自定义密码:, 保定农校水电计价系统)b = InputBox(请重新输入自定义密码:, 保定农校水电计价系统)If a = b And a Thenc = aWorksheets(主界面).Range(v1).Value = cExit ForElseMsgBox 密码输入不正确End IfNex

45、t xElse Exit SubEnd IfEnd Sub 以上代码是设置密码Sub 报表查询() 指定给报表查询按钮Worksheets(查询档案).ActivateActiveSheet.ProtectEnd Sub 以上代码是激活查询档案Sub 返回4() 指定给返回按钮ActiveSheet.Unprotect 解除当前工作表保护Worksheets(主界面).ActivateEnd SubSub 报表存档() 指定给主报表上的报表存档按钮dj = Range($g$278).Valueuj = Range($h$278).Valuezj = Range($h$332).Valueda

46、 = Range($g$277).Valueub = Range($h$277).ValueIf dj 0 Or uj 0 Or da 0 Or ub 0 ThenActiveSheet.UnprotectRange(g5:h331,j5:l331).SelectSelection.CopyWorksheets(查询档案).Activatex = 1Do While Not (IsEmpty(Worksheets(查询档案).Cells(3, x).Value)x = x + 1LoopActiveSheet.Cells(3, x).SelectSelection.PasteSpecial P

47、aste:=xlValues, Operation:=xlNone, _SkipBlanks:=False, Transpose:=FalseWorksheets(查询档案).Cells(2, x).Value = yWorksheets(查询档案).Cells(2, x).Value = Worksheets(记录单).Range($c$2)Worksheets(查询档案).Cells(2, x + 1).Value = 月Worksheets(主界面).Activatebsy 调用bsy宏ElseMsgBox 不是正式 报表,不予存档!Exit SubEnd IfEnd Sub 以上代码是

48、把报表数据存入查询档案 查询档案清理 快捷键: Ctrl+hSub 宏3() 清理查询档案Worksheets(查询档案).ActivateRange(B2:AN329).SelectSelection.ClearContentsRange(a1).SelectWorksheets(主界面).ActivateEnd Sub 宏4 Macro ykq记录宏1997/1/10 档案库清理 快捷键: Ctrl+jSub 宏4() 清理查表档案Worksheets(档案).ActivateRange(C4:AB329).SelectSelection.ClearContentsRange(a1).Se

49、lectWorksheets(主界面).ActivateEnd Sub应用程程序二:销售管管理系统统在在商业企企业的经经营活动动中,主主要业务务活动是是进销存存。本程程序主要要解决销销售的问问题,关关于进货货和库存存留给读读者自己己在原来来程序的的基础上上进一步步开发。1、 销售管理系统的功能自动计算进货金额、销货金额和毛利。分类汇总功能,可按商品和经手人代码进行分类汇总。打印功能查询功能(可按商品和经手人代码进行查询)。2、 销售管理系统的程序设计销售管理系统总体设计界面设计:( HYPERLINK t _blank 图8)主界面面如( HYPERLINK t _blank 图图9)所所示:

50、界面具具体设计计过程:选选定一工工作表,重重命名为为“主界界面”。选定工作表区域,设置区域颜色。在区域内添加应用程序标题和命令按钮。给按钮指定宏 。对主界面进行口令保护。分割工作表区域并冻结,以防屏幕滚动。发货单如( HYPERLINK t _blank 图10)所示:发货单界面设计过程如下:按 HYPERLINK t _blank 图10格式制表。放置命命令按钮钮。选定AA5,CC5,EE5,EE10,A7:F9解解锁定。在G7,G8,G9单元格里依次输入公式E7*F7,=E8*F8,=E9*F9,?G10单元格里输入 =SUM(G7:G9)。保护工作表。毛利核算表如( HYPERLINK

51、t _blank 图11)所示:界面具体设计过程:选定一工作表重命名为“毛利核算”。按 HYPERLINK t _blank 图11所示制表。在毛利利核算表表上添加加命令按按钮并给给之指定定宏。纵向向冻结AA、B两两列,横横向冻结结133行。对工工作表进进行保护护。3、 销售管管理系统统的VBBA代码码及说明明SSub fhdd() 指定定给主界界面上的的发货单单按钮Diim xx, yy Ass Sttrinng 声明过过程级变变量Sheeetss(ffhd).AActiivattex = Shheetts(fhdd).Rannge(a77).Valluey = SSheeets(fhhd)

52、.Raangee(ee10).VValuueIf x AAnd y TThennWWorkksheeetss(mmlhss).Acttivaatez = 44DDo WWhille NNot IsEEmptty(SSheeets(mllhs).CCellls(zz, 11).VValuue)z = zz + 1LooopIf z - 1 550 TThennMMsgBBox$ 试试用版限限处理550笔业业务!EEndEllsez11 = 7Do Whiile Nott IssEmppty(Sheeetss(ffhd).CCellls(zz1, 1).Vallue)zz1 = z11 + 1Lo

53、oopForr z22 = 7 TTo zz1 - 1Ceellss(z, 1) = Sheeetss(ffhd).CCellls(110, 5)Ceellss(z, 2) = Sheeetss(ffhd).CCellls(55, 11) & - & Shheetts(fhdd).Cellls(5, 3) & - & SSheeets(fhhd).Ceellss(5, 5)CCellls(zz, 33) = Shheetts(fhdd).Cellls(z2, 1)CCellls(zz, 44) = Shheetts(fhdd).Cellls(z2, 2)CCellls(zz, 55) = Sh

54、heetts(fhdd).Cellls(z2, 3)CCellls(zz, 66) = Shheetts(fhdd).Cellls(z2, 6)CCellls(zz, 77) = Shheetts(fhdd).Cellls(z2, 4)CCellls(zz, 99) = Shheetts(fhdd).Cellls(z2, 5)zz = z + 1Neext z2Ennd IIfElsseMsggBoxx 发发货单记记录不完完整,请请检查!EnddEEnd IfShheetts(fhdd).ActtivaateRaangee(aa7:ff9).SeelecctSellecttionn.Cllea

55、rrConntenntsRaangee(aa7).SeelecctEndd Suub 以上代代码把发发货单数数据复制制到毛利利核算表表并进行行错误自自检。Suub 计计算毛利利() 指定定给毛利利核算表表上的计计算毛利利按钮Shheetts(mlhhs).UnnprootecctRannge(h44).SellecttAActiiveCCelll.FoormuulaRR1C11 = =RRC-2*RC-1Sellecttionn.AuutoFFilll Deestiinattionn:=RRangge(H4:H5000), TTypee:=xxlFiillDDefaaulttRRangge(j

56、4).SSeleectAcctivveCeell.ForrmullaR11C1 = =RCC-44*RRC-1SSeleectiion.AuttoFiill Desstinnatiion:=Raangee(jj4:jj5000), Tyype:=xllFilllDeefauultRaangee(kk4).SeelecctActtiveeCelll.FFormmulaaR1CC1 = =RC-1-RCC-33Seelecctioon.AAutooFilll DDesttinaatioon:=Rannge(k44:k5500), Typpe:=xlFFilllDeffaulltRannge(a11

57、).SellecttAActiiveWWinddow.SmaallSScrooll ToRRighht:=-4Shheetts(mlhhs).PrroteectEnnd SSub 自动动输入公公式并自自动复制制。Subb dyy() 指定定给毛利利核算表表上的打打印按钮钮SSheeets(mllhs).AActiivattex = 4Doo Whhilee Noot IIsEmmptyy(Shheetts(mlhhs).Ceellss(x, 1).Vaaluee)x = x + 11LLooppRRangge(CCellls(11, 11), Cellls(x, 11).SSeleectSee

58、lecctioon.PPrinntOuutRannge(a11).SellecttSSheeets(vjjm).AcctivvateeEEnd Subb 以以上代码码是先自自动检测测报表区区域并选选定,然然后打印印输出。Sub jrfhd()Sheets(fhd).ActivateRange(a1).SelectEnd SubSub fhvjm()Sheets(vjm).ActivateRange(a1000).SelectEnd SubSub jrmlhs()Sheets(mlhs).ActivateRange(a1).SelectEnd SubSub iax() 指定给主界面和毛利核算表上

59、的查询按钮Dim d As Stringd = InputBox(请选择查询项(按人查询1;按商品查询2):, 查询选择窗)If d = 1 ThenSheets(mlhs).SelectRange(A4).SelectActiveSheet.UnprotectSelection.Sort Key1:=Range(A4), Order1:=xlAscending, Header:= _xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _xlTopToBottomSelection.Subtotal GroupBy:=1, Func

60、tion:=xlSum, TotalList:=Array(8 _, 10, 11), Replace:=True, PageBreaks:=False, SummaryBelowData:= _TrueSheets(mlhs).SelectActiveSheet.Outline.ShowLevels RowLevels:=2Range(a1).Select宏5 调用宏5过程ActiveWindow.ScrollColumn = 3Sheets(mlhs).ProtectElseIf d = 2 ThenSheets(mlhs).SelectSelection.RemoveSubtotalSh

温馨提示

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

评论

0/150

提交评论