- 別怕,Excel VBA其實(shí)很簡(jiǎn)單
- ExcelHome編著
- 3319字
- 2018-12-27 11:00:11
序
VBA,讓效率飛起來
當(dāng)加班成為常態(tài),改變?cè)谒y免
十年前的我,加班是家常便飯的事,每天成堆的工作總是壓得我喘不過氣來,我和同事們就像一枚枚棋子,蜷縮在辦公室里,在電腦前緊張地忙碌著,不知目睹了多少個(gè)華燈初上到燈火闌珊的夜晚。
2000年8月的一天我的目標(biāo)是完成生產(chǎn)成本核算系統(tǒng)的最后一個(gè)報(bào)表模塊的開發(fā)。有了它,就可以方便地查詢和計(jì)算每一種產(chǎn)成品在任意一個(gè)工序上的成本明細(xì)項(xiàng)目,還可以在不同月份之間進(jìn)行結(jié)轉(zhuǎn)、對(duì)比。
我喜歡在晚上寫程序,因?yàn)橥砩习察o,能讓我的思路飛揚(yáng),讓代碼隨著鍵盤聲快速地推進(jìn),等待大功告成的那一刻出現(xiàn)。
你不會(huì)以為我是程序員吧?
不,事實(shí)上,我是財(cái)務(wù)部的成本主管。我就職于一家制造型企業(yè),有IT部門,但是沒有程序員。說白了,我就是千百萬個(gè)成天和Excel表格“耳鬢廝磨”的一員。
我們公司的產(chǎn)品有幾十種,涉及的材料有幾千種,每個(gè)產(chǎn)品又有N道工序,每道工序由數(shù)量不等的作業(yè)人員進(jìn)行生產(chǎn)。我的工作,就是計(jì)算和分析所有產(chǎn)成品和半成品的生產(chǎn)成本,包括材料、人工和雜費(fèi)。計(jì)算依據(jù)主要包括生產(chǎn)部門提交的各產(chǎn)品工序的工時(shí)記錄表,倉庫提交的材料進(jìn)銷數(shù)據(jù),HR部門提供的工資單明細(xì)。
這樣的計(jì)算任務(wù)并不輕松,計(jì)算目標(biāo)復(fù)雜,原始數(shù)據(jù)繁多,有些甚至不是電子文檔,而且只有我一個(gè)人。再而且,時(shí)間非常緊張,因?yàn)槊總€(gè)月交報(bào)表的時(shí)間是固定的。
也許你想問,這么復(fù)雜的計(jì)算用Excel?你們公司難道沒有ERP嗎?
有的,而且聲名不小,價(jià)格不菲。但在我看來,公司的ERP雖有一定的作用,不過卻存在很多局限性,局部線條偏粗,又有些笨拙,很難給出我需要的結(jié)果。
所以,我必須借助Excel。
回想中學(xué)時(shí)的《政治》課本上說,資本家為了榨取更多的剩余價(jià)值,有兩種方法:一是延長(zhǎng)工作時(shí)間,二是提高生產(chǎn)效率。我現(xiàn)在清楚地認(rèn)識(shí)到,為了及時(shí)準(zhǔn)確地完成計(jì)算任務(wù),方法同樣有兩個(gè):加班,或者提高計(jì)算效率。
我當(dāng)然不愿意加班。同時(shí),加班的產(chǎn)出也是有限的,并不能解決任務(wù)重時(shí)間緊的根本性問題。
所以,我必須提高效率。
一次自動(dòng)核算成本系統(tǒng)的開發(fā)經(jīng)歷,讓我受益無窮
自從接了公司的生產(chǎn)成本核算系統(tǒng)這個(gè)活,我的Excel水平突飛猛進(jìn)。從最初的焦頭爛額,到現(xiàn)在的從容應(yīng)對(duì),我通過不斷優(yōu)化計(jì)算方法,完善成本核算模板,減輕工作量。
有人說,學(xué)好Excel可以以一當(dāng)十。年輕的我憑著一腔熱情,還真沒有注意到:公司的產(chǎn)品規(guī)模在不斷擴(kuò)大,計(jì)算任務(wù)隨之加重,我依然可以按時(shí)交報(bào)表。由于我舍得下力氣去研究,直到后來協(xié)助工作的同事被上司調(diào)派去負(fù)責(zé)別的內(nèi)容。
我的想法很簡(jiǎn)單,多做就是多學(xué)習(xí),付出一定有回報(bào)。
我的成本核算模板,按產(chǎn)品區(qū)分,主要使用的是Excel的函數(shù)、公式和數(shù)據(jù)透視表,可以實(shí)現(xiàn)成本計(jì)算的半自動(dòng)化——輸入原始數(shù)據(jù),結(jié)果自動(dòng)生成。原始數(shù)據(jù),一部分來源于上個(gè)月的成本數(shù)據(jù),一部分從ERP中導(dǎo)出。
模板完善后,我的工作重心不再是計(jì)算,而是處理這樣那樣的原始數(shù)據(jù)。這是一件相當(dāng)繁瑣無聊的事情。導(dǎo)出、保存、打開、復(fù)制、粘貼、切換、關(guān)閉,奈何我200APM的手速,因?yàn)樯婕皫装賯€(gè)文件的數(shù)據(jù)處理,至少得一兩天時(shí)間,處理過程中還很容易出錯(cuò)。
問題是,公司的產(chǎn)品數(shù)量一直在增加,并處于變化中,這讓我再次想起了“水管工的故事”。
于是,我決定繼續(xù)挖掘Excel的潛力,其實(shí)也是我自身的潛力。兩個(gè)月以后,我用Excel VBA代碼替代了80%的成本原始數(shù)據(jù)處理工作。只要按一次鍵,數(shù)據(jù)就能乖乖地按規(guī)定的路線在幾百個(gè)Excel文件之間流轉(zhuǎn),就像歡樂的浪花在美麗的小河中蕩漾。
說真的,沒有什么事情,比看著自己寫的代碼正常運(yùn)行,讓復(fù)雜無比的工作灰飛煙滅的感覺更有成就感了。
了解到Excel VBA與眾不同的威力后,我的激情再一次被點(diǎn)燃,我決定要自己寫一個(gè)成本計(jì)算分析系統(tǒng),我希望以后每個(gè)月的成本計(jì)算分析都是全自動(dòng)的。經(jīng)過持續(xù)不斷地學(xué)習(xí)和研究,我想,今天晚上,終于可以達(dá)成了這一目標(biāo)了。
透視VBA的知與行
轉(zhuǎn)眼間邁入2012年了。
我們都生活在信息社會(huì)中,生活在一個(gè)前所未見的充斥著海量數(shù)據(jù)的年代。無論是企業(yè)還是個(gè)人,每天都要接觸無數(shù)以數(shù)據(jù)為載體的信息。
數(shù)據(jù),甚至已經(jīng)成為了企業(yè)或個(gè)人的替代品。
不相信?
一家你未曾親身到訪甚至未曾接觸過其產(chǎn)品的企業(yè),對(duì)你來說意味著什么?它無非會(huì)成為財(cái)務(wù)報(bào)表或統(tǒng)計(jì)報(bào)表上的一堆林林總總的數(shù)據(jù),諸如生產(chǎn)規(guī)模、員工人數(shù)、利潤(rùn)水平……
一個(gè)你未曾謀面未曾聽說的人,對(duì)你來說意味著什么?就好像進(jìn)入婚戀網(wǎng)站搜索對(duì)象,這些陌生人只不過是個(gè)人指標(biāo)數(shù)據(jù)的集合體,諸如身高、體重、職業(yè)、收入……
想要在這樣一個(gè)時(shí)代生存,處理數(shù)據(jù)的能力是必須的,因?yàn)閷?shí)在有太多數(shù)據(jù)要處理了。廣大Excel的用戶,尤其是Excel的重度用戶肯定對(duì)此深有體會(huì)。
作為Excel Home的站長(zhǎng)和一名培訓(xùn)講師,我接觸過許多各式各樣的數(shù)據(jù)處理要求,也體驗(yàn)或親身參與過許多基于Excel的解決方案。這些寶貴經(jīng)驗(yàn)讓我對(duì)Excel提供的各項(xiàng)功能有更深的理解。
在Excel中制作計(jì)算模型,主力軍非函數(shù)與公式莫屬。300多個(gè)不同功能的函數(shù)在公式中靈活組合,可以創(chuàng)造無數(shù)種算法,再加上數(shù)組和名稱的配合使用,幾乎可以完成絕大多數(shù)計(jì)算任務(wù)。
要論數(shù)據(jù)分析和報(bào)表生成的便捷,不得不提到數(shù)據(jù)透視表,這是Excel最厲害的本領(lǐng),厲害在于其功能強(qiáng)大的同時(shí),使用起來卻非常簡(jiǎn)單。
但如果只會(huì)這兩樣,仍然會(huì)有很多時(shí)候感到束手束腳,究其根本在于以下幾方面。
1. 函數(shù)和公式只能在其所在的位置返回結(jié)果,而無法操作數(shù)據(jù)表格的任意位置,更不能操作表格的任意屬性(比如設(shè)置單元格的填充色,或刪除單元格)。
2. 函數(shù)和公式、數(shù)據(jù)透視表都需要規(guī)范的數(shù)據(jù)源,但往往我們工作量最大之處就在于獲取和整理原始數(shù)據(jù)。比較麻煩的情況之一就是原始數(shù)據(jù)很可能是位于某個(gè)文件夾下的幾十份表格。
3. 使用函數(shù)和公式、數(shù)據(jù)透視表制作的解決方案,難以具備良好的交互性能。因?yàn)樗鼈冎荒艽嬖谟趩卧裰校c普通數(shù)據(jù)是處于同一個(gè)平面的。
4. 對(duì)于業(yè)務(wù)流程較為復(fù)雜、數(shù)據(jù)項(xiàng)經(jīng)常變化的計(jì)算很難處理。
5. 無法迅速省力地完成大量的重復(fù)操作。
所以,永遠(yuǎn)不要忘記Excel還有一個(gè)殺手級(jí)的功能——VBA。
VBA是什么,怎么用,在本書中會(huì)給出詳細(xì)的答案。這里,我只想說,只有這個(gè)功能才真正讓Excel成為了無所不能的數(shù)據(jù)處理利器,才讓我們有機(jī)會(huì)可以徹底地高效辦公。
很多人認(rèn)為VBA很神秘,認(rèn)為會(huì)寫代碼是自己不可能實(shí)現(xiàn)的事情。雖然我不能保證人人都能學(xué)會(huì)VBA,但我可以保證如果你能學(xué)會(huì)函數(shù)和公式,你也能學(xué)會(huì)VBA,因?yàn)樗鼈兊谋举|(zhì)是相同的。函數(shù)和公式無非是寫在單元格中的一種簡(jiǎn)短代碼罷了。
所以,如果你曾經(jīng)覺得自己連Excel函數(shù)和公式也搞不定,現(xiàn)在卻能熟練地一口氣寫下好幾個(gè)函數(shù)嵌套的公式,那么你學(xué)VBA不會(huì)有問題。
在我眼里, VBA就好像“獨(dú)孤九劍”。這武功最大的特點(diǎn)是遇強(qiáng)則強(qiáng),遇弱則弱。如果你每天面對(duì)的數(shù)據(jù)非常有限,計(jì)算要求也很簡(jiǎn)單,那么用VBA就是高射炮打蚊子了。但如果你是Excel重度用戶,經(jīng)常需要處理大量數(shù)據(jù),而Excel現(xiàn)有功能無法高效完成計(jì)算任務(wù)時(shí),就可以考慮讓VBA上場(chǎng),一舉定乾坤。
今時(shí)不同往日,互聯(lián)網(wǎng)的發(fā)展使得技術(shù)和經(jīng)驗(yàn)的分享非常方便。如果說十年前你想用VBA實(shí)現(xiàn)任何一個(gè)小功能都需要先掌握全部語法,然后一行一行代碼自己寫的話,那么現(xiàn)在Excel Home上有太多太多現(xiàn)成的實(shí)現(xiàn)不同目標(biāo)的VBA代碼,許多代碼甚至已經(jīng)到了拿來即用的程度。
所以,如果你的時(shí)間非常有限,也沒有興趣成為一個(gè)Excel開發(fā)者,你只需要快速地學(xué)習(xí)掌握Excel VBA的基本語法,然后到互聯(lián)網(wǎng)上去淘代碼來用到自己的工作中。如果你投入的時(shí)間多一點(diǎn)點(diǎn),你會(huì)發(fā)現(xiàn)你很快就能看懂別人的代碼,然后做出簡(jiǎn)單的修改后為自己所用。這個(gè)過程,是不是和你當(dāng)年學(xué)Excel函數(shù)和公式的經(jīng)歷很類似?
等你做到這一步,你會(huì)發(fā)現(xiàn)原來公司里那個(gè)很厲害的會(huì)寫代碼的Excel高手的秘密武器原來是這樣的啊,以后可以少請(qǐng)他吃飯以換取他為你寫個(gè)小功能了……
因?yàn)楣ぷ鞯年P(guān)系,我接觸過很多信息化工具,也了解過一些編程語言,我發(fā)現(xiàn)所有工具的本質(zhì)是相通的。每種工具都有其優(yōu)缺點(diǎn),有其專屬的場(chǎng)合。這種專屬并非指不可替代,而是說最佳選擇。
因此,我不贊成VBA至上的觀點(diǎn),因?yàn)楸M管VBA無所不能,但如果我們事事都寫代碼,那還要Excel本身的功能干嘛?我也反對(duì)VBA無用的觀點(diǎn),你暫時(shí)用不上怎么能說明此工具無用?甚至說,你根本就不會(huì)用這工具,怎么知道你用不上?
用VBA,是為了更高效。不用,也是因?yàn)橥瑯拥哪康摹?/p>
但是,會(huì)了VBA,你將擁有高效的更多種選擇。不會(huì),你就沒有。這一點(diǎn),高效人士都懂的。
Excel Home創(chuàng)始人、站長(zhǎng) 周慶麟
2012年2月22日

- Word/Excel/PowerPoint 2013三合一高效辦公超級(jí)手冊(cè)
- Excel 2019公式、函數(shù)應(yīng)用大全
- Word/Excel/PPT實(shí)戰(zhàn)技術(shù)大全
- Word-Excel-PowerPoint 2007三合一辦公應(yīng)用實(shí)戰(zhàn)從入門到精通(超值版)
- OpenCV Essentials
- Excel高手捷徑 一招鮮 吃遍天
- Excel公式與函數(shù)大辭典
- 大話PPT:幻燈片制作真經(jīng)
- 用圖表說話:Excel精美實(shí)用圖表大制作
- Excel VBA案例實(shí)戰(zhàn)從入門到精通(視頻自學(xué)版)
- AI智能化辦公:ChatGPT使用方法與技巧從入門到精通
- Excel 2016中文版完全自學(xué)手冊(cè)
- Excel VBA基礎(chǔ)入門(第二版)
- Word/Excel/PowerPoint三合一實(shí)戰(zhàn)辦公技巧
- PPT設(shè)計(jì)的藝術(shù):人人都用得上的PPT設(shè)計(jì)書