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