官术网_书友最值得收藏!

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)閉,奈何我200APMAPM,指每分鐘擊鍵次數(shù)。的手速,因?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日

主站蜘蛛池模板: 弋阳县| 青川县| 吉安县| 平定县| 莲花县| 周宁县| 徐汇区| 安新县| 奇台县| 麻城市| 高青县| 偏关县| 灵武市| 岳阳市| 永安市| 正蓝旗| 喀喇沁旗| 汤原县| 新闻| 澄迈县| 招远市| 博湖县| 常山县| 贵阳市| 富蕴县| 尤溪县| 陆川县| 寿阳县| 宁德市| 来凤县| 甘洛县| 柞水县| 阿坝| 龙岩市| 黄冈市| 瓮安县| 威信县| 永寿县| 斗六市| 崇义县| 确山县|