999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

對已有信息表二次利用的程序開發

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

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

關鍵詞:VBA;重考報名;信息表

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

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

本文以學校教務部門重考報名表自動生成的實際應用,來揭示利用VBA程序,對已有信息表二次利用的無限魅力。

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

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

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

3 VBA解決方法

3.1 設計思想

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

3.2 宏代碼編制

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

On Error Resume Next

Application.ScreenUpdating = False'關閉屏幕自動更新

Dim StudentNum As Integer

Dim ClassNum As Integer

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

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

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

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

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

'替換工作表單元格

For i = 2 To StudentNum + 1'成績數據從第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'學生是否有重考判斷標記

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 '不需重考則刪除該學生行

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

Selection.EntireRow.Delete

End If

Next i

Dim ClassFlag As Boolean'課程是否有學生重考標記

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 '若課程沒有學生重考刪除該列

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

Selection.EntireColumn.Delete

End If

Next i

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

3.3 宏代碼的運行

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

4 結束語

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

參考文獻:

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

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

[3] 李慧.用VBA開發基于Excel的數據統計[J].電腦知識與技術:學術交流,2007,3(17).

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

主站蜘蛛池模板: 色播五月婷婷| 亚洲六月丁香六月婷婷蜜芽| 午夜a视频| 在线va视频| 中文字幕免费播放| 人妻夜夜爽天天爽| 香蕉久久国产超碰青草| 日韩精品久久久久久久电影蜜臀| av午夜福利一片免费看| 国产成人综合日韩精品无码首页| 97国内精品久久久久不卡| 就去吻亚洲精品国产欧美| 99人体免费视频| 99视频精品全国免费品| 国产网友愉拍精品| 韩日午夜在线资源一区二区| 九九这里只有精品视频| 97se亚洲| 在线综合亚洲欧美网站| 99久久精品无码专区免费| 亚洲欧洲日韩综合色天使| 久久久久国产精品嫩草影院| 超碰91免费人妻| 91无码人妻精品一区二区蜜桃| 国产免费网址| 国产久操视频| 色亚洲激情综合精品无码视频 | 日韩第八页| 成人av手机在线观看| 国产浮力第一页永久地址| 中文纯内无码H| 色综合天天视频在线观看| 国产91精品最新在线播放| 久久人体视频| 亚洲日韩AV无码一区二区三区人| 国产成人精品高清不卡在线 | 亚洲Va中文字幕久久一区| 99在线观看视频免费| a亚洲天堂| 欧美日韩中文字幕在线| 亚洲成a人片7777| 欧美翘臀一区二区三区| 国产精品女同一区三区五区| 色综合手机在线| 另类欧美日韩| 伊人久久福利中文字幕| 青青青国产免费线在| 综合色区亚洲熟妇在线| 波多野结衣一二三| 国产视频久久久久| 精品一区二区三区四区五区| 超清无码一区二区三区| 国产精品一老牛影视频| 欧美午夜理伦三级在线观看| 五月激情婷婷综合| 亚洲日本www| 91精品情国产情侣高潮对白蜜| 国产免费高清无需播放器 | 日韩专区欧美| 男女精品视频| 97国产在线视频| 人妻一区二区三区无码精品一区 | 尤物精品视频一区二区三区| 久久国产精品无码hdav| 72种姿势欧美久久久大黄蕉| 99资源在线| 中文字幕久久亚洲一区| 国产日韩丝袜一二三区| 92午夜福利影院一区二区三区| 免费毛片视频| 999福利激情视频| 一边摸一边做爽的视频17国产| 亚洲国产精品一区二区第一页免 | 精品综合久久久久久97超人该| 国产一线在线| 欧美全免费aaaaaa特黄在线| 蝴蝶伊人久久中文娱乐网| 啪啪永久免费av| 国产原创自拍不卡第一页| 男人的天堂久久精品激情| av在线无码浏览| 亚洲第一成人在线|