【正文】
4=*,缺考,)))))”,在C29里輸入公式統(tǒng)計(jì)全班人數(shù)“=50COUNTBLANK(C4:C28)COUNTBLANK(I4:I28)”,在F29輸入公式“=COUNTIF(成績單!$C$4:$C$28,=*)+COUNTIF(成績單!$I$4:$I$28,=*),在I29輸入公式“=C29F29”計(jì)算實(shí)考人數(shù)。 在D30單元格里輸入公式“=COUNTIF($F$4:$F$28,=優(yōu))+COUNTIF($L$4:$L$28,=優(yōu))”計(jì)算優(yōu)的人數(shù),在D31單元格里輸入公式“=COUNTIF($F$4:$F$28,=良)+COUNTIF($L$4:$L$28,=良)”計(jì)算良的人數(shù),在I30單元格里輸入公式“=COUNTIF($F$4:$F$28,=及格)+COUNTIF($L$4:$L$28,=及格)”計(jì)算及格的人數(shù),在I31單元格里輸入公式“=COUNTIF($F$4:$F$28,=不及格)+COUNTIF($L$4:$L$28,=不及格)”計(jì)算不及格的人數(shù), 工作表保護(hù)使用戶不能修改?! ≡嚲矸治龃蛴〗缑嫒鐖D14所示: 界面具體設(shè)計(jì)過程如下: 選定一個工作表并命名為“打印界面”?! ∵x定單元格區(qū)域,把區(qū)域顏色設(shè)置成你喜歡的顏色?! 》胖妹畎粹o,并給按鈕指定宏?! 》指顓^(qū)域并凍結(jié),鎖定界面使之不能滾動?! 」ぷ鞅砑用鼙Wo(hù)使用戶不能修改?! ≡嚲矸治鼋缑嫒鐖D15所示: 界面具體設(shè)計(jì)過程: 選定一個工作表并命名為“試卷分析”。 制表(如圖15所示 )。 放置命令按鈕,并給按鈕指定宏。 選定G4:P4 G7:P7繪制折線圖?! ≡趩卧褫斎牍剑骸 6:=AVERAGE(成績單!C4:C28,成績單!I4:I28) B6:=MAX(成績單!$C$4:$C$28,成績單!$I$4:$I$28) C6:=MIN(成績單!$C$4:$C$28,成績單!$I$4:$I$28) D6:=COUNTIF(成績單!$C$4:$C$28,60)+COUNTIF(成績單!$I$4:$I$28,60) E6:=D6/N8 G6:=COUNTIF(成績單!C4:C28,=9)+COUNTIF(成績單!I4:I28,=9) H6:=COUNTIF(成績單!C4:C28,=19)+COUNTIF(成績單!I4:I28,=19)G6 I6:=COUNTIF(成績單!C4:C28,=29)+COUNTIF(成績單!I4:I28,=29)H6G6 J6:=COUNTIF(成績單!C4:C28,=39)+COUNTIF(成績單!I4:I28,=39)I6H6G6 K6:=COUNTIF(成績單!C4:C28,=49)+COUNTIF(成績單!I4:I28,=49)J6I6H6G6 L6:=N8SUM(G6:K6,M6:P6) M6:=COUNTIF(成績單!C4:C28,=60)+COUNTIF(成績單!I4:I28,=60)試卷分析!N6試卷分析!O6試卷分析!P6 N6:=COUNTIF(成績單!C4:C28,=70)+COUNTIF(成績單!I4:I28,=70)試卷分析!P6試卷分析!O6 O6:=COUNTIF(成績單!C4:C28,=80)+COUNTIF(成績單!I4:I28,=80)試卷分析!P6 P6:=COUNTIF(成績單!C4:C28,=90)+COUNTIF(成績單!I4:I28,=90) G7:=G6/$N$8并選定G7單元格拖動填充柄復(fù)制至P7單元格。 C8:=成績單!C29 H8:=成績單!C29 N8:=C8H8 工作表保護(hù)使用戶不能修改。 姓名庫界面圖16所示: 界面具體設(shè)計(jì)過程如下: 選定一個工作表并命名為“姓名庫”?! ≈票恚ㄈ鐖D16所示 )?! ?試卷分析程序的VBA代碼及說明 Sub 宏1() ‘指定給主界面上的成績錄入按鈕 Sheets(成績單).Select ‘激活成績單工作表 End Sub Sub 宏2() ‘指定給主界面上的分析按鈕 = .001 = False Calculate ‘執(zhí)行自動計(jì)算 End Sub Sub 宏4() ‘指定給主界面上的打印按鈕 Sheets(打印界面).Select ‘激活打印界面工作表 End Sub Sub 宏5() ‘指定給打印界面上的打印成績單按鈕 Sheets(成績單).Select Copies:=1 End Sub ‘打印成績單 Sub 宏6() ‘指定給打印界面上的打印試卷分析按鈕 Sheets(試卷分析).Select Copies:=1 End Sub Sub 宏7() ‘指定給返回按鈕 Sheets(主界面).Select End Sub ‘返回主界面 Sub 宏11() ‘指定給主界面上的幫助按鈕 Sheets(幫助窗口).Select ‘激活幫助工作表界面 End Sub Sub urxm() ‘指定給成績單界面上的返回主界面按鈕 Dim bjj As String bjj = Workbooks().Worksheets(成績單).Range(c2).Value If bjj = 財1 Then Worksheets(姓名庫).Range(a3:a27).Copy destination:=Worksheets(成績單).Range(b4:b28) Worksheets(姓名庫).Range(b3:b27).Copy destination:=Worksheets(成績單).Range(h4:h28) ElseIf bjj = 財2 Then Worksheets(姓名庫).Range(c3:c27).Copy destination:=Worksheets(成績單).Range(b4:b28) Worksheets(姓名庫).Range(d3:d27).Copy destination:=Worksheets(成績單).Range(h4:h28) ElseIf bjj = Then Worksheets(姓名庫).Range(a100:a124).Copy destination:=Worksheets(成績單).Range(b4:b28) Worksheets(姓名庫).Range(b100:b124).Copy destination:=Worksheets(成績單).Range(h4:h28) Else End If fanhui ‘調(diào)用FANHUI宏 End Sub ‘以上代碼是根據(jù)成績單上C2單元格的值用選擇語句從姓名庫里取姓名,然后放到成績單的相應(yīng)單元格里?! ub fanhui() Worksheets(主界面).Activate End Sub 下面就信息輸入、信息處理、信息輸出界面設(shè)計(jì)、代碼設(shè)計(jì)和數(shù)據(jù)保護(hù)等方面的問題作一小結(jié): 一、信息輸入 最常用的信息輸入方法有三種,一是在工作表(WorkSheets)的單元格(Cells)中直接輸入文字和數(shù)據(jù)(重復(fù)數(shù)據(jù)可由填充把柄拖拉而得)。二是采用輸入框(InputBox)輸入少量數(shù)據(jù)。三是自行設(shè)計(jì)對話窗體(Forms),在其上可加入標(biāo)簽框、文本框、列表框、分組框、選擇框、滾動條和命令按鈕等,然后設(shè)計(jì)其對象格式(如屬性、保護(hù)、控制項(xiàng)、對齊、字體和圖案等)。當(dāng)然,Windows提供的剪裁板進(jìn)行數(shù)據(jù)的復(fù)制或粘貼也不失為一種常用的方法。此外,Excel還提供了強(qiáng)大的文件轉(zhuǎn)換功能,可將Txt文件、dBase、Lotus 123文件、QuattroPro文件、MS Work文件、SYLK文件、DIF文件等直接轉(zhuǎn)換為Excel工作簿文件,這就為數(shù)據(jù)的共享、快速錄入及轉(zhuǎn)換提供了極大的方便?! 《⑿畔⑻幚怼 “葱袠I(yè)的不同,信息處理的要求有較大的差別,常用的信息處理包括數(shù)據(jù)的修改、查詢、檢索、排序和統(tǒng)計(jì)匯總。在dBase中,這些工作一般需要編程設(shè)計(jì),而在Excel中,幾乎所有的工作均可由Excel本身提供的功能輕松地完成。最常用的是右端數(shù)據(jù)菜單中的各項(xiàng)功能∶記錄單選項(xiàng)提供了數(shù)據(jù)庫記錄查詢、輸入、修改或刪除的簡單方法。排序選項(xiàng)提供了數(shù)據(jù)庫記錄同時按三個字段的排序方法,可以按行或按列、以升序或降序、考慮或不考慮大寫來進(jìn)行排序。篩選選項(xiàng)提供了隱藏除符合指定條件外的所有數(shù)據(jù)的方法,為數(shù)據(jù)庫同類記錄的查詢和重點(diǎn)顯示提供了方便。分類匯總選項(xiàng)提供了同類數(shù)據(jù)的匯總及統(tǒng)計(jì)方法。數(shù)據(jù)透視表選項(xiàng)可以迅速使一個復(fù)雜的表格變得容易閱讀和理解,它可以方便地概括出感興趣的字段,從不同的角度透視出求和值、計(jì)數(shù)值、平均值、最大值、最小值、乘積值、標(biāo)準(zhǔn)偏差、總體標(biāo)準(zhǔn)偏差、變異值、總體變異值。 表格設(shè)計(jì)是MIS的重點(diǎn)和難點(diǎn)之一,然而在Excel中,表格設(shè)計(jì)卻易如反掌。Excel的工作簿(WorkBooks)是一個三維電子表格,一個工作簿由若干個工作表構(gòu)成,每個工作表本身就是一張表格,它最多可達(dá)16384行256列,足以滿足表格設(shè)計(jì)的需要。表格中每一行的高度和每一列的寬度均可隨意調(diào)節(jié),多余的行和列可以隱藏起來,表格中的每個單元格可有不同的字體、字號、邊框線、前景色、數(shù)據(jù)格式、對齊方式和保護(hù)方式,在每個單元格中還可插入不同的文字附注和聲音附注。此外,在每個工作表中可任意繪制直線、曲線、矩形、橢圓、箭頭和各種窗體控件(Controls),并且還可插入其他Windows應(yīng)用程序的圖片和對象,支持DDL和OLE。Excel的這些功能為靈活設(shè)計(jì)各種復(fù)雜的表格提供了極大的方便?! 〗y(tǒng)計(jì)圖表是各類MIS的特色之一,能否設(shè)計(jì)出美觀易懂的圖表從一個方面反映了MIS生命力的強(qiáng)弱。Excel的作圖能力特別強(qiáng)大,操作使用方便,它可從工作表中靈活地提取所需的數(shù)據(jù),快速生成二維或三維的條形圖、柱形圖、餅圖、環(huán)形圖、散列圖、曲面圖、雷達(dá)圖等?! ∪?、信息輸出 Excel具有所見即所得的功能,凡是在工作表上能顯示出來的內(nèi)容(文字、數(shù)據(jù)、圖形、圖表)均可打印出來,超寬表格可以自動分頁打印。其打印選項(xiàng)十分豐富,完全不需要自己編寫另外的打印驅(qū)動代碼。 四、界面制作 在Excel中,MIS的界面既可采用對話窗體進(jìn)行設(shè)計(jì),也可在工作表上直接進(jìn)行設(shè)計(jì),窗體的各種控件可隨意放置在工作表上。在錄制或編寫了宏代碼后,還可根據(jù)自己的需要任意修改Excel的菜單、工具箱以及提示行顯示信息,而隱藏Excel本身的菜單系統(tǒng),使MIS仿佛脫離了Excel處于單獨(dú)運(yùn)行之中?! 榱嗽谶M(jìn)入Windows的同時就進(jìn)入MIS界面,=C:\Excel5\ /E,在C:Excel5\XLSTART子目錄中加入MIS的界面控制程序,這樣將在啟動Windows的同時直接進(jìn)入Excel環(huán)境并啟動MIS的操作界面,而不顯示Excel的啟動封面。AutoOpen是含有特殊含義的子程序名稱,它可在打開工作簿的同時運(yùn)行AutoOpen中的語句。 五、代碼設(shè)計(jì) 對于簡單的MIS,一般不需要進(jìn)行代碼設(shè)計(jì),用Excel本身提供的各項(xiàng)功能就可滿足要求。除具有通用的工作表函數(shù)外,Excel還提供了豐富的日期和時間函數(shù)、財務(wù)分析函數(shù)、統(tǒng)計(jì)分析函數(shù)和假設(shè)分析函數(shù)。例如在B1單元格輸入公式=AVERAGE(A1:A9),就可直接求出從A1到A9中各單元數(shù)據(jù)的平均值。 然而對于比較復(fù)雜的MIS,則必須使用Excel的編程語言?Visual Basic for Application (VBA,也就是Excel的宏)。VBA直接嵌入Excel的工作簿中,其語法規(guī)則非常類似于Visual Basic,比較容易掌握。VBA包含豐富的各種函數(shù)、方法、對象、屬性和語句。理解并逐步掌握VBA中數(shù)量龐大的各類方法、對象和屬性是在Excel平臺上進(jìn)行二次開發(fā)的關(guān)鍵技術(shù)。Excel的所有菜單操作均可通過VBA編程實(shí)現(xiàn),此外VBA還可以實(shí)現(xiàn)Excel本身不具備的功能,如API函數(shù)的調(diào)用。利用Excel提供的錄制宏功能是初步學(xué)習(xí)VBA的簡捷方法。熟悉VBA之后,就可自己修改宏并編寫新的宏。需要說明的是,中文Excel的宏支持漢字過程名和變量名,這就為程序的閱讀和維護(hù)帶來了便利?! ×?shù)據(jù)保護(hù) MIS的數(shù)據(jù)保護(hù)能力是用戶和軟件開發(fā)人員共同關(guān)心的問題。用dBase開發(fā)的MIS,往往需要為設(shè)計(jì)數(shù)據(jù)庫的保密功能而絞盡腦汁。然而在Excel中,您不必編寫任何程序代碼就可達(dá)到數(shù)據(jù)保護(hù)的目的。Excel為用戶提供了多級保護(hù)手段,可以自行選擇是否保護(hù)每個單元格或每個控件,是否保護(hù)某張工作表,是否保護(hù)每個工作簿,是否需要輸入打開工作簿的口令。一般而言,打開工作簿的口令由用戶設(shè)定,其他保護(hù)功能由程序設(shè)計(jì)人員設(shè)定,一經(jīng)設(shè)置了保護(hù)功能,任何人(包括程序設(shè)計(jì)者)在不知道口令的情況下均無法越權(quán)使用?! xcel內(nèi)置的強(qiáng)大功能以及提供的二次開發(fā)平臺,為快速、簡便地開發(fā)出具有專業(yè)水平的MIS提供了高效的手段,其眾多功能在本文無法逐一涉及,尚需讀者在使用中摸索。