劉沈
摘要:針對(duì)學(xué)籍管理中經(jīng)常出現(xiàn)的數(shù)據(jù)匯總、比對(duì)等問題,本研究探討使用VBA對(duì)Excel進(jìn)行二次開發(fā),用一個(gè)工作簿能夠自動(dòng)實(shí)現(xiàn)學(xué)籍信息的分散管理、迅速匯總、數(shù)據(jù)比對(duì)的功能,避免了簡(jiǎn)單重復(fù)性操作,大大促進(jìn)了學(xué)籍信息管理的自動(dòng)化和信息化水平,有助于學(xué)校行政效率的提高。該研究還公布了一些核心功能的源代碼,以方便共享和交流,為進(jìn)一步的研究提供了基礎(chǔ)。
關(guān)鍵詞:Excel;VBA;學(xué)籍管理
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2012)33-7925-04
EXCEL是MicrosoftOffice的一個(gè)重要組成部分,主要實(shí)現(xiàn)各種電子表格制作、數(shù)據(jù)處理、數(shù)據(jù)統(tǒng)計(jì)分析等功能,被廣泛地應(yīng)用于管理、統(tǒng)計(jì)、金融等眾多領(lǐng)域。VBA的全稱是VisualBasicforApplication,它是Office系列軟件提供的一種完全面向?qū)ο蟮暮暾Z言。它具有跨越多種Office應(yīng)用軟件并且控制應(yīng)用軟件對(duì)象的能力,簡(jiǎn)單易學(xué),可以根據(jù)用戶的具體需求對(duì)Office進(jìn)行指定方向的二次開發(fā)。
在學(xué)校學(xué)籍信息管理中,新生入學(xué)時(shí)學(xué)校需要進(jìn)行巨大的信息采集工作,涉及系統(tǒng)錄入、驗(yàn)證分發(fā)等諸多環(huán)節(jié)。在這過程中,EXCEL能夠有效輔助這些工作的完成。傳統(tǒng)對(duì)EXCEL的操作往往是進(jìn)行手工的輸入、篩選、復(fù)制和黏貼。這盡管在一定程度上是便捷的,但是極大的降低了工作效率,也很難避免一些人工錯(cuò)誤。因此,如何能夠更有效的完成新生入學(xué)時(shí)的學(xué)籍管理工作,便是本研究所要解決的具體問題。筆者致力于運(yùn)用VBA開發(fā)能夠解決實(shí)際問題的程序,幫助提高EXCEL在學(xué)籍管理中的使用效率。
1VBA對(duì)EXCEL的二次開發(fā)
1.1運(yùn)用VBA實(shí)現(xiàn)各班級(jí)學(xué)籍系統(tǒng)導(dǎo)入模板的合并
新生入學(xué)后我們需要將新生信息導(dǎo)入江蘇聯(lián)合職業(yè)技術(shù)學(xué)院學(xué)籍管理系統(tǒng),在各班按照系統(tǒng)提供的學(xué)生學(xué)籍信息模板填寫后,還需將這些以班級(jí)命名的Excel工作薄合并到一張工作表中。若采用手工打開Excel工作薄進(jìn)行復(fù)制、粘貼雖然可以完成任務(wù),但是由于班級(jí)數(shù)目眾多,這樣簡(jiǎn)單重復(fù)的操作效率極低??紤]到所有班級(jí)的表格都是采用的同一模板,筆者將這些Excel文檔放置在同一目錄下,并新建一個(gè)Excel工作薄名為匯總表,利用VBA實(shí)現(xiàn)將各班學(xué)生信息合并至匯總表中。匯總表中的核心代碼及相關(guān)注釋如下:
在窗體工具欄中選擇按鈕,在匯總表的空白處拖畫出一個(gè)按鈕,將其指定宏設(shè)為上面的“合并表格”,確定后單擊按鈕即可完成匯總。
1.2運(yùn)用VBA實(shí)現(xiàn)錄取名冊(cè)頁行的錄入
在錄取五年制高職新生時(shí),需要錄入其在錄取名冊(cè)頁上的編號(hào)。表1為學(xué)籍信息表,需要錄入錄取名冊(cè)頁行;表2為招辦提供的招辦錄取表。一般我們會(huì)想到使用VLOOKUP函數(shù),去比對(duì)兩張表中的姓名字段,然后將表2中對(duì)應(yīng)的錄簡(jiǎn)表冊(cè)頁行填入表1。但是這里我們不僅要考慮到姓名可能會(huì)重名,還需要考慮姓名相同且生源地不一致的情況。
因此筆者在這里并沒有選擇VLOOKUP函數(shù)而是將兩張表放到同一工作薄下,Sheet1為學(xué)籍信息表,Sheet2為招辦錄取表。在學(xué)籍信息表中從窗體工具欄為其添加一個(gè)按鈕,指定如下宏:
單擊按鈕后,學(xué)籍信息表中錄簡(jiǎn)表冊(cè)頁行這個(gè)字段會(huì)自動(dòng)反饋出匹配結(jié)果,可以針對(duì)其中“存在重名”以及“沒有匹配到”的情況進(jìn)行個(gè)別處理。
1.3運(yùn)用VBA實(shí)現(xiàn)將系統(tǒng)導(dǎo)出的學(xué)籍庫按班級(jí)拆分
在新生學(xué)籍上報(bào)后,需將系統(tǒng)中的學(xué)籍庫導(dǎo)出并打印后分發(fā)給各班進(jìn)行核對(duì)。由于庫中表格是全校新生的匯總表(見表3),此時(shí)要按“班級(jí)”這一列將其拆分成以班級(jí)名稱命名的多張表。
表3 新生學(xué)籍庫
如果按照班級(jí)去一個(gè)個(gè)篩選再?gòu)?fù)制粘貼到新工作表,在班級(jí)數(shù)量龐大的情況下工作效率極低。因而筆者在這里利用VBA,實(shí)現(xiàn)該匯總表按照班級(jí)自動(dòng)生成以班級(jí)命名的若干張工作表,其宏代碼如下:
在匯總表中添加一個(gè)按鈕為其指定上面的“按班級(jí)拆分”宏,在自動(dòng)拆分后會(huì)彈出處理完畢的對(duì)話框,并提示用戶一共拆分出多少?gòu)埍恚窗嗉?jí)數(shù)目)。
2結(jié)束語
本研究基于對(duì)EXCEL的VBA應(yīng)用,實(shí)現(xiàn)了一個(gè)工作薄內(nèi)學(xué)籍信息的迅速匯總、數(shù)據(jù)比對(duì)及拆分的功能,并在本校學(xué)籍管理的實(shí)際工作中得到應(yīng)用,大大提高了工作效率,也為相應(yīng)軟件的進(jìn)一步開發(fā)和應(yīng)用研究提供了程序基礎(chǔ)。
參考文獻(xiàn):
[1]格林.Excel2007VBA參考大全[M].北京:人民郵電出版社,2009.
[2]卓朗,陸召軍,張鳴,等.用Excel2003構(gòu)建高校學(xué)籍管理信息系統(tǒng)的新思路[J].中國(guó)科技信息,2009(17):180-181.
[3]韋文.VBA在Excel多文檔數(shù)據(jù)合并的應(yīng)用研究[J].大眾科技,2009(06):24-26.
[4]袁浩,毛穎穎.基于EXCELVBA的績(jī)效考核統(tǒng)計(jì)系統(tǒng)設(shè)計(jì)[J].科技視界,2012(15):175-176.