亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        對已有信息表二次利用的程序開發(fā)

        2008-12-31 00:00:00
        電腦知識與技術(shù) 2008年30期

        摘要:Excel是OFFICE家族成員中一個功能強(qiáng)大、技術(shù)先進(jìn)、使用方便的數(shù)據(jù)管理和分析系統(tǒng)。而在Excel中使用VBA(Visual Basic for Application的簡稱)對已有的信息表進(jìn)行宏編程,可以使用戶高效地生成新的工作表,達(dá)到辦公自動化的目的。文章用班級成績表生成重考報名表的實(shí)例,揭示了利用VBA在Excel中進(jìn)行二次開發(fā),提高工作效率,保證數(shù)據(jù)準(zhǔn)確性的強(qiáng)大功能。

        關(guān)鍵詞:VBA;重考報名;信息表

        中圖分類號:TP317文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)30-0619-02

        Programming for Development of Available Information Sheets

        NI Bin

        (Haining College,Zhejiang Radio TV University,Haining 314400,China)

        Abstract: Excel is a powerful, advanced and convenient system for data management and analysis among the OFFICE family. Programming the available Excel sheets with VBA (Visual Basic for Application) macro can help users generate new sheets efficiently, which can realize office automation. This paper uses the example of generating make-up examination entry forms from report sheets. VBA’s second exploitation in Excel has the powerful function of improving the work efficiency and guarantee the data accuracy.

        Key words: VBA; make-up examination entry forms; information table

        1 引言

        Excel是一個功能強(qiáng)大、人們普遍使用的表格式數(shù)據(jù)綜合管理和分析軟件。它向用戶提供了史無前例的超強(qiáng)計算功能和表格功能。但隨著辦公室工作人員計算機(jī)應(yīng)用水平的不斷提高,人們已不滿足對該軟件的簡單應(yīng)用,用戶希望軟件的應(yīng)用能夠更加人性化、個性化,以及用軟件解決問題的步驟更加簡單化。為了滿足用戶的較高層次或更高的“自動化”要求,我們就需要利用Excel的宏編程Visual Basic for Application(簡稱VBA)來對工作表做二次開發(fā)。VBA給廣大用戶提供了更高層次的二次開發(fā)平臺。

        在工作中我們經(jīng)常會遇到,對原有信息表的格式和內(nèi)容進(jìn)行修改,生成新的工作表這樣的情況。比如,對已有的單位員工的工資匯總表,給工作表中每行員工的工資數(shù)據(jù)添加列的標(biāo)題,調(diào)整格式后做分條顯示;由班級成績表的數(shù)據(jù),生成每位同學(xué)的成績單;對企業(yè)員工根據(jù)政治面貌和工資水平生成黨團(tuán)費(fèi)收交清單;利用已有的考試數(shù)據(jù)表生成考生考試通知單;由企業(yè)員工基本信息表,生成指定年齡段員工信息;對原有數(shù)據(jù)表生成新的統(tǒng)計信息工作表等等。可以看到,對原信息表進(jìn)行二次利用,生成新信息表的例子不計其數(shù)。對于這些工作,在理論上都可以通過機(jī)械的手工操作來達(dá)到制作新工作表的目的,但因處理的數(shù)據(jù)非常龐大,完成這些新的工作表將變得費(fèi)時費(fèi)力,而且根本無法保證其正確性。而結(jié)合VBA可以定制開發(fā)出大量有價值的應(yīng)用程序,這些應(yīng)用程序無疑將會為我們的工作和生活帶來巨大的樂趣與效率。

        本文以學(xué)校教務(wù)部門重考報名表自動生成的實(shí)際應(yīng)用,來揭示利用VBA程序,對已有信息表二次利用的無限魅力。

        2 問題的提出和初級解決辦法

        每到學(xué)期結(jié)束,學(xué)校教務(wù)部門總要給每個班級制作一張成績匯總表,并針對該成績制作一張下學(xué)期初的重考報名表。而該重考報名表的制作,Excel并沒有現(xiàn)成的功能可以使用,只能要求老師在制作過程中認(rèn)真仔細(xì)。當(dāng)然,我們可以利用Excel的條件格式功能,將需要參加重考的成績(即“缺考”和60分以下的成績)用特殊格式標(biāo)注出來,這樣從一定程度上可以減少操作錯誤,如圖1所示。但在對單元格手工刪除、修改的過程中仍然無法避免操作出錯的可能性。

        顯然,該原始的手工方法存在著兩大缺點(diǎn):效率低下;容易出錯。

        3 VBA解決方法

        3.1 設(shè)計思想

        計算機(jī)的優(yōu)勢在于可以快速地完成重復(fù)性的邏輯判斷操作。因此,針對實(shí)際問題,考慮采用VBA編程來解決。主要的設(shè)計依據(jù):根據(jù)已有的班級成績匯總表,成績有百分制成績、缺考、免考三種數(shù)據(jù)類型。而在VBA中可用cells(i,j)對表中的第i行,第j列單元格進(jìn)行讀寫控制和讀寫操作。所寫的程序就要對學(xué)生成績進(jìn)行判斷,若是及格成績則不需重考,用Cells(i, j) = \"\"清空該單元格。若成績不及格或是“缺考”,則用“√”標(biāo)記該單元格。再把經(jīng)替換后的工作表中不需要重考的學(xué)生行和沒有學(xué)生重考的課程列刪除,即可得到最終的班級重考報名表。此外,為保護(hù)原來的成績匯總表,在生成重考報名表前先備份該工作表。

        3.2 宏代碼編制

        在Excel 菜單欄中,打開“工具/宏(M) /宏(M)?”對話框(也可用快捷健Alt+F8 打開),輸入宏名(本文用的是“生成重考報名表”),單擊“創(chuàng)建”按鈕后進(jìn)入宏代碼編輯窗口,輸入以下程序:

        On Error Resume Next

        Application.ScreenUpdating = False'關(guān)閉屏幕自動更新

        Dim StudentNum As Integer

        Dim ClassNum As Integer

        StudentNum = Val(InputBox(\"請輸入學(xué)生人數(shù)\"))'用戶輸入學(xué)生人數(shù)

        ClassNum = Val(InputBox(\"請輸入課程門數(shù)\"))'用戶輸入課程門數(shù)

        '備份成績匯總表,對復(fù)制的工作表重命名為“重考報名”

        Sheets(1).Copy After:=Sheets(Sheets.Count)

        Sheets(Sheets.Count).Name = \"重考報名\"

        '替換工作表單元格

        For i = 2 To StudentNum + 1'成績數(shù)據(jù)從第2行開始

        For j = 3 To ClassNum + 2'課程列從第3行開始

        If (IsNumeric(Cells(i, j)) And Cells(i, j) >= 60) Or Cells(i, j) Like \"免考\" Then

        Cells(i, j) = \"\"'不需重考的單元格清空

        ElseIf Cells(i, j) < 60 Or Cells(i, j) Like \"缺考\" Then

        Cells(i, j) = \"√\"'需要重考的單元格打勾

        End If

        Next j

        Next i

        Dim StuFlag As Boolean'學(xué)生是否有重考判斷標(biāo)記

        For i = StudentNum + 1 To 2 Step -1

        StuFlag = False

        For j = 3 To ClassNum + 2

        If Cells(i, j) <> \"\" Then

        StuFlag = True

        Exit For

        End If

        Next j

        If StuFlag = False Then '不需重考則刪除該學(xué)生行

        Range(Cells(i, 1), Cells(i, 1)).Select

        Selection.EntireRow.Delete

        End If

        Next i

        Dim ClassFlag As Boolean'課程是否有學(xué)生重考標(biāo)記

        For i = ClassNum + 2 To 3 Step -1

        ClassFlag = False

        For j = 2 To StudentNum + 2

        If Cells(j, i) <> \"\" Then

        ClassFlag = True

        Exit For

        End If

        Next j

        If ClassFlag = False Then '若課程沒有學(xué)生重考刪除該列

        Range(Cells(1, i), Cells(1, i)).Select

        Selection.EntireColumn.Delete

        End If

        Next i

        Application.ScreenUpdating = True '開啟屏幕更新

        3.3 宏代碼的運(yùn)行

        在Excel窗口,再次打開“工具/宏(M)/宏(M)…”對話框,選擇“生成重考報名表”,點(diǎn)“選項(xiàng)”,在彈出的對話框中輸入快捷鍵字母(本例用m),單擊“確定”即可。用快捷鍵Ctrl+ m 即可啟動宏,生成的重考報名表如圖2所示。

        4 結(jié)束語

        盡管VBA編程開發(fā)不是巨大的系統(tǒng)編程,但實(shí)用的小程序確能給現(xiàn)實(shí)工作效率的提高帶來無限生機(jī)。VBA就像一個接口,給Excel提供了更多的擴(kuò)展,滿足用戶的個性化需求。由于篇幅的原因,本文只簡單介紹了由成績匯總表生成重考報名表的成功實(shí)例,希望能起到拋磚引玉,進(jìn)而挖掘更多更好應(yīng)用實(shí)例的作用。利用VBA程序開發(fā),對已有信息表二次利用,生成用戶所需的新工作表,這一過程使我們的想象力變得無限寬廣,在提高效率的基礎(chǔ)上,也給計算機(jī)的使用者帶來無限樂趣。

        參考文獻(xiàn):

        [1] 龔沛,陸慰民,楊志強(qiáng).Visual Basic 程序設(shè)計教程(6.0版)[M].北京:高等教育出版社,2000.

        [2] 漢森.Excel 2003 與VBA 編程從入門到精通[M].李兆斌,譯.北京:電子工業(yè)出版社,2004.

        [3] 李慧.用VBA開發(fā)基于Excel的數(shù)據(jù)統(tǒng)計[J].電腦知識與技術(shù):學(xué)術(shù)交流,2007,3(17).

        注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文

        亚洲精品无码永久在线观看你懂的| 一区二区激情偷拍老牛视频av| 天天澡天天揉揉AV无码人妻斩| 一区二区三区午夜视频在线观看| 蕾丝女同一区二区三区| 欧洲多毛裸体xxxxx| 精品国产18久久久久久| 乱色视频中文字幕在线看| 成人大片在线观看视频| 一区二区精品国产亚洲 | 欧美俄罗斯乱妇| 狠狠综合亚洲综合亚色| 久久精品国产亚洲av麻豆床戏| 丰满熟女高潮毛茸茸欧洲视频| 日日干夜夜操高清视频| 视频女同久久久一区二区三区 | 国产午夜视频一区二区三区| 精品人妻伦九区久久aaa片| 欧美一欧美一区二三区性| 国产黄色看三级三级三级| 国产一级内射一片视频免费| 免费无码精品黄av电影| 成人天堂资源www在线| 国产清品夜色一区二区三区不卡 | 国产视频毛片| 青青草视全福视频在线| 日本免费视频| 亚洲av无码一区二区二三区| 精品一区二区三区在线视频观看 | 在线视频精品免费| 精品国产97av一区二区三区| av影片手机在线观看免费网址| 国产婷婷色一区二区三区在线| 亚洲av男人的天堂在线观看| 国产精品色内内在线播放| 精华国产一区二区三区| 亚洲第一狼人天堂网亚洲av| 久久人妻少妇嫩草av蜜桃| 爱v天堂在线观看| 国产优质av一区二区三区| 亚州国产av一区二区三区伊在|