【正文】
域,把區(qū)域顏色設(shè)置成你喜歡的顏色。(圖2) 主界面是以EXCEL工作表作為輸入輸出界面?! ∠到y(tǒng)保護(hù)功能:具有口令保護(hù)、工作表保護(hù)以防非法用戶進(jìn)入和修改?! 〔樵児δ埽嚎刹樵兏鲬舻碾姳頂?shù)、水表數(shù)、電費(fèi)數(shù)、水費(fèi)數(shù)。 水電計(jì)價(jià)系統(tǒng)的功能 本程序具有如下功能: 自動計(jì)算功能:可完成各戶水費(fèi)、電費(fèi)、合計(jì)的計(jì)算?! ?yīng)用程序一:水電計(jì)價(jià)系統(tǒng) 水電管理是每一個(gè)單位每月都要進(jìn)行的工作。充分感受到其強(qiáng)大功能和方便性。它同時(shí)具有電子數(shù)據(jù)表、圖表和數(shù)據(jù)庫的功能,具有極強(qiáng)的分析性能、報(bào)表制作工具和豐富的統(tǒng)計(jì)圖表。一般來說,一套MIS主要包括信息輸入、信息處理、信息輸出三大組成部分,用Excel處理這些部分均顯得游刃有余。:;:;: 用EXCEL開發(fā)管理信息系統(tǒng)摘 要:Excel97是Windows95環(huán)境下的一種電子表格軟件,可向用戶提供史無前例的超強(qiáng)功能和易用性,內(nèi)嵌有一種Visual Basic for Application(簡稱VBA)超級宏語言,讀者在熟練應(yīng)用Excel的基礎(chǔ)上,可按用戶的需求用VBA建立適用的信息系統(tǒng)?! £P(guān)鍵詞:EXCEL97 VBA 管理信息系統(tǒng)(MIS) 目前國內(nèi)管理信息系統(tǒng)(MIS)開發(fā)研制一般采用人們熟悉的dBaseX、Foxbase或Foxpro等,本文介紹了如何用Excel開發(fā)MIS。Excel是Windows環(huán)境下的一種電子表格軟件,可向用戶提供史無前例的超強(qiáng)功能和易用性。在本文筆者用中文Excel97 for Windows開發(fā)了水電管理系統(tǒng)、銷售管理系統(tǒng)、試卷分析系統(tǒng)。下面詳細(xì)闡述水電管理系統(tǒng)、銷售管理系統(tǒng)、試卷分析系統(tǒng)的開發(fā)過程。 下面我們以保定農(nóng)校水電計(jì)價(jià)系統(tǒng)為例講解VBA在水電管理中的應(yīng)用?! ∽詣訁R總功能:自動匯總?cè)=搪毠堑挠秒娏俊⒂盟考胺诸悈R總?! ?bào)表的打印輸出功能?! ?程序設(shè)計(jì)過程 ?。?)程序總體設(shè)計(jì)(圖1) (2)界面設(shè)計(jì) 水電計(jì)價(jià)系統(tǒng)主界面如圖2所示?! 【唧w設(shè)計(jì)如下: 選定一個(gè)工作表并命名為“主界面”?! 》胖妹畎粹o,并給按鈕指定宏?! 」ぷ鞅砑用鼙Wo(hù)使用戶不能修改?! 【唧w設(shè)計(jì)過程如下: 選定一個(gè)工作表并命名為“記錄單”。 選定年、月、水表數(shù)、電表數(shù)空白單元格區(qū)域,取消鎖定?! 」ぷ鞅肀Wo(hù)使用戶不能修改。 具體設(shè)計(jì)過程如下: 選定一個(gè)工作表并命名為“主報(bào)表”?! 】v向凍結(jié)A、B兩列,橫向凍結(jié)15行?! ≥斎牍剑河?jì)算上次表底、本月查表記錄、水電用量、水、電費(fèi)、水電費(fèi)合計(jì)的校內(nèi)、校外合計(jì)、樓房合計(jì)、平房合計(jì)?! ?SUMIF($M$6:$M$331,=l校內(nèi),C6:C331)+SUMIF($M$6:$M$331,=p校內(nèi),C6:C331) 在C339單元格輸入下面公式,拖動填充柄復(fù)制公式至L339。 =SUMIF($M$6:$M$331,=l校外,C6:C331)+SUMIF($M$6:$M$331,=l校內(nèi),C6:C331) 在C341單元格輸入下面公式,拖動填充柄復(fù)制公式至L341?! 〔楸頇n案界面如(下圖)所示: 具體設(shè)計(jì)過程如下: 選定一個(gè)工作表并命名為“檔案”?! 】v向凍結(jié)A、B兩列,橫向凍結(jié)13行?! 」ぷ鞅肀Wo(hù)使用戶不能修改?! ≈票恚ㄈ鐖D7所示 )。 放置命令按鈕,并給按鈕指定宏。 (3)、水電計(jì)價(jià)系統(tǒng)的VBA代碼及說明 Dim s As Variant Dim y As Variant Dim u As Variant ‘模塊級變量聲明 Sub shuru() ?指定給主界面輸入按鈕 s = Worksheets(主界面).Range(v1).Value ‘獲取密碼 For y2 = 1 To 2 x = InputBox(請輸入密碼:, 保定農(nóng)校水電計(jì)價(jià)系統(tǒng)) If x = s Then Worksheets(主界面).Activate (按鈕 2).Select = vbb (按鈕 3).Select = ibda 39。 = 退出 (按鈕 4).Select = 報(bào)表查詢 Worksheets(記錄單).Activate Exit Sub ElseIf x = Then MsgBox 請輸入密碼 Else Exit Sub End If Next y2 End Sub ‘以上是根據(jù)密碼正確與否選擇執(zhí)行代碼段 Sub 返回1() ‘指定給返回按鈕 Worksheets(主界面).Activate End Sub Sub 存檔() ?指定給記錄單上的存檔按鈕 thecode = vbYesNo + vbDefaultButton2 + vbExclamation + vbapplicationmodel 39。Worksheets(報(bào)表).Activate Worksheets(報(bào)表).Range(e6).Select ElseIf m And n = Then Worksheets(報(bào)表).Activate Worksheets(報(bào)表).Range(e6).Select ElseIf m = And n Then Worksheets(報(bào)表).Activate Worksheets(報(bào)表).Range(f6).Select Else End If Worksheets(檔案).Activate y1 = Worksheets(記錄單).Range(c2).Value x = 0 Do Until z = y1 x = x + 1 z = Worksheets(檔案).Cells(2, x).Value Loop If m And n Then Worksheets(檔案).Cells(4, x).Select ElseIf m = And n Then Worksheets(檔案).Cells(4, x + 1).Select ElseIf m And n = Then Worksheets(檔案).Cells(4, x).Select Else End If Worksheets(主界面).Activate Case vbNo End Select Exit Sub End Sub ‘以上代碼是把錄入數(shù)據(jù)存入主報(bào)表和查表檔案 Sub 返回2() ‘指定給主報(bào)表上的返回主界面按鈕 Worksheets(主界面).Activate End Sub Sub 取電表底() ‘指定給主報(bào)表上的取電表底按鈕 y = InputBox(請輸入電表底(y0,1,2...12):, 保定農(nóng)校水電計(jì)價(jià)系統(tǒng)) If y = y0 Then Worksheets(檔案).Activate Range(c4:c329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 1 Then Worksheets(檔案).Activate Range(e4:e329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 2 Then Worksheets(檔案).Activate Range(g4:g329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 3 Then Worksheets(檔案).Activate Range(i4:i329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 4 Then Worksheets(檔案).Activate Range(k4:k329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 5 Then Worksheets(檔案).Activate Range(m4:m329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 6 Then Worksheets(檔案).Activate Range(o4:o329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 7 Then Worksheets(檔案).Activate Range(q4:q329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 8 Then Worksheets(檔案).Activate Range(s4:s329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 9 Then Worksheets(檔案).Activate Range(u4:u329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 10 Then Worksheets(檔案).Activate Range(w4:w329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 11 Then Worksheets(檔案).Activate Range(y4:y329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = 12 Then Worksheets(檔案).Activate Range(aa4:aa329).Select Worksheets(報(bào)表).Activate Range(c6).Select ElseIf y = Then Exit Sub Else End If With Application .Calculation = xlAutomatic .MaxChange = .001 End With = False End Sub ‘以上代碼是使用選擇語句從查表檔案中取電表底 Sub 取水表底() ‘指定給主報(bào)表上的取電表底按鈕 u = InputBox(請輸入水表底(y0,1,2...12):, 保定農(nóng)校水電計(jì)價(jià)系統(tǒng)) If u = y0 Then Worksheets(檔案).Activate Range(d4:d329).Select Worksheets(報(bào)表).Activate Range(d6).Select ElseIf u = 1 Then Worksheets(檔案).Activate Range(f4:f329).Select Worksheets(報(bào)表).Activate Range(d6).Select ElseIf u = 2 Then Worksheets(檔案).Activate Range(h4:h329).Select Worksheets(報(bào)表).Activate Range(d6).Select ElseIf u = 3 Then Worksheets(檔案).Activate Range(j4:j329).Select Worksheets(報(bào)表).Activate Range(d6).Select ElseIf u = 4 Then Worksheets(檔案).Activate Range(l4:l329).Select Workshe