朱儉等
摘要摘要:Excel 是微軟公司Office 集成辦公軟件重要組件之一,應用廣泛。在Excel中引入VBA,運用其內(nèi)嵌的VBA對Excel進行再開發(fā),不僅可以提高工作效率,自動處理重復繁瑣的工作,并且不會改變原軟件的操作方式與功能。介紹了VBA在Excel中的開發(fā)優(yōu)勢、開發(fā)環(huán)境、開發(fā)過程及應用領域。
關鍵詞關鍵詞:ExcelVBA;Excel開發(fā);VBA應用
0引言
財務軟件的應用顯著提高了工作效率,大大減輕了財務人員的工作強度,這得益于財務軟件實現(xiàn)了數(shù)據(jù)錄入、處理與輸出一體化。然而,在詳細處理數(shù)據(jù)方面,財務軟件的部分功能與當下的管理工作要求依舊脫節(jié)?;诖耍珽xcel在財務處理中廣泛應用,其人性化的功能設計與靈活的操作填補了普通會計軟件的不足[1]。然而,Excel也有其自身缺點:由于每個操作都要人工完成,對于重復性的工作,難免會造成繁重的工作與冗余。
利用VBA對Excel進行二次開發(fā),即將重復操作編程運行,可以有效避免多次人為操作帶來的失誤,顯著提高工作效率與質(zhì)量。
1VBA應用
1.1VBA介紹
VBA全稱Visual Basic For Applications,是Visual Basic的一部分,是在某些應用程序中內(nèi)置的編程語言[2]。與Visual Basic不同的是,VBA需要一個應用程序作為載體才能運行,而VB則可以創(chuàng)建獨立的應用程序。VBA通過自定義程序,將宿主應用程序的某些操作自動化,為解決重復操作問題提供了一個良好方案。
1.2Excel VBA
一般來說,VBA是內(nèi)嵌在Office中,增強Office軟件使用功能的程序語言。如今,VBA應用已經(jīng)逐步涉及到Word(WordBasic)、Excel(ExcelBasic)、Access(AccessBasic)和PowerPoint(PowerPointBasic),并且在Outlook中也開發(fā)了Visual Basic Scripting Edition語言,這些語言統(tǒng)稱為VB for Application。
利用VBA在Excel中編寫相應的語言,可創(chuàng)建數(shù)據(jù)處理方案,對數(shù)據(jù)進行詳細處理和系統(tǒng)分析。Excel軟件中既有的功能操作,包括數(shù)據(jù)錄入界面、工作表的基本操作等可以直接使用。
2VBA在Excel中的應用優(yōu)勢
基于VBA功能實現(xiàn)Word中的應用,可實現(xiàn)以下功能:①創(chuàng)建報表。實時報表的編寫方法雖然眾多,但是程序步驟相當繁瑣,報表功能也受到很多限制。通過應用VBA的編寫程序,報表的生成會方便很多[3];②對數(shù)據(jù)進行復雜的操作和分析。各單位工資表的處理既重要又繁瑣,如果使用VBA程序?qū)xcel功能進行拓展,編寫個人所得稅稅款計算程序,就會減少會計人員的錄入與核對工作量,提高Excel的利用效率和空間;③使重復工作自動化。例如:教師在判斷學生成績等級時,不需要重復比對成績與等級之間的換算,只需輸入下面的代碼即可:
VBA內(nèi)嵌Excel優(yōu)勢如下:
(1)Excel作為Office中運用較為廣泛的一款軟件,其本身功能全面,兼有數(shù)據(jù)編輯、處理與文件打印等,使用者能夠輕松掌握Excel的基本操作方法與功能運用,VBA的加入顯著提高了財務工作效率。
(2)除了上述功能外,Excel內(nèi)涵大量數(shù)據(jù)運算與函數(shù)分析程序, VBA內(nèi)嵌后將更有助于提高數(shù)據(jù)處理效率。
(3)VBA的內(nèi)嵌操作可在多個數(shù)據(jù)庫之間交換運用,利于數(shù)據(jù)的溝通與交流。同時,VBA簡單的操作方法容易掌握,利于推廣普及。如果利用其它程序編寫語言,通常都需要搭建好基本的功能操作例如數(shù)據(jù)的導入、處理與導出等,而以Excel為載體的VBA開發(fā),則因為Excel本身已經(jīng)具備的基本操作,大大節(jié)省了開發(fā)時間,提高了工作效率。
3ExcelVBA開發(fā)
3.1開發(fā)環(huán)境
在Office按鈕中,選擇Excel選項,在常用選項下選中“在功能中顯示‘開發(fā)工具選項卡”,或者按快捷鍵Alt+F11即可進入。
安全性設置:在信任中心中,選擇信任中心設置,啟用所有宏。
3.2VBE應用
進入VBE編輯器后,就能編寫有關低界面后程序。VBE編輯器主要包括以下內(nèi)容:①代碼窗口。編寫及查看VBA代碼;②對象窗口。設定窗體界面(如果使用了窗體的話),設定窗體各個控件布局;③對象瀏覽器。查看所有對象庫、特定對象或工程,包括所有的對象列表及每個對象的成員列表;④工程資源管理器。管理工程中的模塊、類模塊與窗體,可以很容易地在代碼與對象之間切換;⑤屬性窗口。可設定很多對象相關屬性,簡單到只要用鼠標選擇即可;⑥工具箱。在插入窗體后,可以從工具箱添加各種控件;⑦立即窗口。其主要工作是:在開發(fā)過程中,用Debug.Print輸出的內(nèi)容就在此顯示;當代碼是Break模式時,查看對象和變量的狀態(tài)。
3.3開發(fā)過程
在開發(fā)具體業(yè)務程序時,需要考慮以下問題:①使用者,決定了程序的操作難度及界面感觀;②數(shù)據(jù)來源和保存地方,決定了程序的結(jié)構(gòu);③如何操作,將決定程序的界面和細節(jié);④數(shù)據(jù)處理結(jié)果,最終決定程序的價值。
4VBA應用領域?qū)嵗?/p>
以基于ExcelVBA的自動閱卷反饋系統(tǒng)為例。
傳統(tǒng)的計算機技能操作考試首先是由教師在計算機上提供試題文本和素材文件,然后由學生上機操作答題,最后由教師一一閱卷評分,這種考試方式存在組織時間長、耗費人力物力多等不足。Excel軟件使用是計算機課程最重要的實驗教學環(huán)節(jié)之一,在Excel實驗系統(tǒng)和考試系統(tǒng)中實現(xiàn)自動閱卷,對提高學生學習效果和減輕教師工作量都有很大幫助[4]。
Excel有一些操作,答案并不唯一,如果不進行適當?shù)奶幚?,很容易出現(xiàn)誤判、漏判。解決這個問題的思路是:預先創(chuàng)建一個數(shù)據(jù)庫,記錄下本次需要批閱的所有考核項目、考核區(qū)域、考核知識點等信息,再做好試卷的標準答案。批閱時按數(shù)據(jù)庫中的批閱項目將學生解答與標準答案進行比對,從而判斷解答的對錯。目前許多開發(fā)工具都可以針對Excel進行操作。但Excel和其它Office軟件都自帶了一個開發(fā)環(huán)境,在此環(huán)境中開發(fā)完全可以滿足本項目要求,而且Excel所提供的宏錄制功能可以一字不改地將錄制的代碼移植到程序中,便于對象和屬性獲得以及代碼編制,調(diào)試程序時也免除了在多個軟件中來回切換。另外,本項目使用的數(shù)據(jù)量很小。Excel本身就是一個數(shù)據(jù)庫軟件,完全可以存放批閱所需的數(shù)據(jù)。批閱結(jié)果的輸出可以存放在其它數(shù)據(jù)庫中,但查看不方便,軟件移植性差。程序中采用Excel工作表存放批閱結(jié)果數(shù)據(jù),師生可以很方便地利用Excel所提供的篩選、分類匯總、數(shù)據(jù)透視表等強大的數(shù)據(jù)統(tǒng)計功能了解批閱結(jié)果。具體如下:
啟動Excel批閱程序,打開【Excel批閱】對話框。設置班級、標準文檔(即試卷名)、學生作業(yè)文檔目錄。點擊【開始批閱】按鈕后,自動批閱試卷中的所有學生文檔。程序先打開本試卷的標準解答文檔,再遍歷所有學生作業(yè)文檔并進行批閱。主要代碼如下:
5結(jié)語
Excel 功能強大、技術先進、使用方便,用于輸入輸出數(shù)據(jù),能對數(shù)據(jù)進行各種復雜統(tǒng)計運算。Excel廣泛應用于多個領域。在Excel中引入VBA 之后,其功能明顯增強,運用其內(nèi)嵌的VBA對Excel進行再開發(fā),可以自動處理重復繁瑣的工作,提高工作效率,并且不會改變原軟件的操作方式與功能設置。
參考文獻參考文獻:
[1]陳靜. VBA 對Excel 功能擴展的應用[J].北京衛(wèi)生學校學報, 2012(1):15.
[2]劉靜. VBA在Excel中的應用[J]. 計算機與網(wǎng)絡, 2009 (8): 544545.
[3]王靖, 王林, 周金文. 用ExcelVBA方法實現(xiàn)報表自動生成[J]. 電力科學與工程, 2009, 25(1): 7375.
[4]林海寧. 基于VBA 技術的Excel 自動評閱系統(tǒng)[J].寧德財經(jīng)學校學報, 2012(1):13.
責任編輯(責任編輯:杜能鋼)