鄒宏偉
摘要:該文通過(guò)VBA的應(yīng)用程序與Excel的各對(duì)象緊密結(jié)合,使Excel的功能得到擴(kuò)展,將生成的數(shù)據(jù)寫(xiě)入到Excel中,然后對(duì)已生成的數(shù)據(jù)通過(guò)調(diào)用Excel對(duì)象使其生成教案首頁(yè)。此方法也可實(shí)現(xiàn)通用表格的反向整合。此方法對(duì)通用表格數(shù)據(jù)的正反向整合具有快速、簡(jiǎn)單、易操作和精確度高等優(yōu)點(diǎn),值得推廣到多工作領(lǐng)域。
關(guān)鍵詞:Excel模板數(shù)據(jù)導(dǎo)入導(dǎo)出;VBA;教案首頁(yè)
中圖分類(lèi)號(hào):TP37 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)22-0196-02
1概述
教案首頁(yè)是教師教學(xué)內(nèi)容安排的高度濃縮,其集中涵蓋了教學(xué)活動(dòng)中最重要、最核心、最關(guān)鍵的信息,也是學(xué)校常規(guī)教學(xué)管理的重要內(nèi)容。因此教案首頁(yè)填寫(xiě)是否準(zhǔn)確、完整直接影響教學(xué)的質(zhì)量。寫(xiě)好教案首頁(yè)是搞好教學(xué)的基礎(chǔ)。如何利用EX—CEL軟件,讓教師從無(wú)聊重復(fù)的復(fù)制粘貼中解放出來(lái),從而把有限的精力投入到教學(xué)規(guī)劃當(dāng)中去。本文介紹的通用表格數(shù)據(jù)的正反向整合法能很好地解決上述問(wèn)題。
在工作中常常會(huì)遇到將一個(gè)或多個(gè)大表的數(shù)據(jù)生成多個(gè)小表的信息輸出;或?qū)⒍鄠€(gè)EXCEL文件的信息匯總到一個(gè)EX-CEL文件中,使用Word中的郵件合并功能來(lái)與Excel交換數(shù)據(jù),能夠輕松實(shí)現(xiàn)一次生成、批量打印的目的。但是郵件合并對(duì)數(shù)據(jù)源表格,對(duì)有合并單元格的情況容易產(chǎn)生不可預(yù)料的結(jié)果,降低了可靠性。對(duì)于多數(shù)據(jù)源表格合并,郵件合并功能無(wú)能為力。因此本文提出了應(yīng)用EXCEL實(shí)現(xiàn)教案首頁(yè)自動(dòng)化生成及通用表格正反向數(shù)據(jù)整合的方法。其通用性成果既能滿(mǎn)足多表格數(shù)據(jù)合并,又能滿(mǎn)足額頭戶(hù)多表格輸出,現(xiàn)以自動(dòng)生成教案首頁(yè)為例,介紹主要工作成果。操作界面如圖1所示。
2設(shè)計(jì)思路
①建一張總表和分表模版,總表中的數(shù)據(jù)根據(jù)需要填入分表,并自動(dòng)生成若干分表。
②建兩張以上總表和分表模版,多個(gè)總表中的數(shù)據(jù)根據(jù)需要填入分表中,并自動(dòng)生成若干分表。
③建一張總表和兩張以上分表模版,總表中的數(shù)據(jù)根據(jù)需要填入若干不同分表中,并自動(dòng)生成若干種有不同模版分表。
④建兩張以上總表和兩張以上分表模版,可根據(jù)需要總表和分表數(shù)據(jù)實(shí)現(xiàn)互轉(zhuǎn)。
3準(zhǔn)備工作
這在Excel中建立總表模版:這張表中包括教學(xué)計(jì)劃以及教案首頁(yè)所需的所有信息。如圖2所示。總表模版對(duì)有表頭及合并單元格等復(fù)雜樣式的不限,這就比用郵件合并對(duì)數(shù)據(jù)源表格的要求提高了一大步。
在Excel建立分表模版:如圖3這張表主要規(guī)劃好教案首頁(yè)所需的輸出樣式,分表的樣式很多,可根據(jù)需要自己設(shè)計(jì)。
4需要完成的工作
分表中需要輸出的內(nèi)容,只要在總表中點(diǎn)取單元格信息,形成一一對(duì)應(yīng)關(guān)系,按照總表中的記錄數(shù)輸出不同內(nèi)容的分表信息。寫(xiě)好教計(jì)劃和教學(xué)設(shè)計(jì)后,將其放在一個(gè)大表中,運(yùn)用該程序,自動(dòng)生成教案首頁(yè)。運(yùn)行完成后,檢查數(shù)據(jù),數(shù)據(jù)準(zhǔn)確,表格格式設(shè)置清晰明了。
在有些工作場(chǎng)合,需要將許多分表的數(shù)據(jù)填入到大表中,人工匯總工作量太大,且容易出錯(cuò),本方法將多分表文件放入文件夾中,實(shí)現(xiàn)自動(dòng)讀取每一個(gè)分表數(shù)據(jù),自動(dòng)寫(xiě)人總表中,其工作效率非常高。例如不管有多少人參與,我們只需把分表模版發(fā)下去填好分表信息,把不同的分表文件放人分表文件路徑中,只需“分表導(dǎo)入到總表”按鈕即可實(shí)現(xiàn)。
以上功能對(duì)于生成教案首頁(yè)足夠應(yīng)對(duì)。為了擴(kuò)展通用性將不同的分表數(shù)據(jù)匯總到總表中去??偙砟0搴头直砟0嫔峡梢园喜卧瘢?、函數(shù)等等。將此方法可推廣到通用表格正反向整合,其應(yīng)用面可推廣到很多辦公領(lǐng)域。
5VBA編程實(shí)現(xiàn)
實(shí)現(xiàn)的總體思路是將總表(或分表1中的數(shù)據(jù)提取,放到分表(或總表)中相應(yīng)單元格的位置,這樣需要知道總表的單元格的地址與分表的單元格地址一一對(duì)應(yīng),因此,在總表模板和分表模板中設(shè)計(jì)了雙擊單元格事件,以提取單元格地址和單元格值。程序運(yùn)行流程如圖4所示,該圖顯示了Excel解析數(shù)據(jù)信息加載的順序和數(shù)據(jù)獲取及寫(xiě)入導(dǎo)導(dǎo)出文檔或工作簿的過(guò)程。編寫(xiě)的關(guān)鍵代碼如下:
雙擊單元格實(shí)現(xiàn)界面中自動(dòng)填入單元格地址和單元格值
6結(jié)束語(yǔ)
VBA語(yǔ)言功能強(qiáng)大,編制出的程序易于操作,計(jì)算快捷,結(jié)果準(zhǔn)確,與使用Word中的郵件合并功能來(lái)與Excel交換數(shù)據(jù)的方法相比,本程序避免了因數(shù)據(jù)源表格不規(guī)范而產(chǎn)生大量的手動(dòng)操作和不必要的手動(dòng)操作失誤,大大縮短了時(shí)間,提高了工作效率和準(zhǔn)確度。本程序能廣泛地應(yīng)用于教學(xué)、地產(chǎn)、招商、采購(gòu)、評(píng)估等管理實(shí)際工作領(lǐng)域,運(yùn)用非常簡(jiǎn)便,而且精確度高,用時(shí)少,值得教師和學(xué)校管理者以及各行各業(yè)的管理者借鑒。endprint