VBA是Visual Basic for Applications的縮寫,是微軟提供給應用程式進行二次開發的工具,所以Office系列產品其實都包含這個工具,另外AutoDesk的AutoCAD產品也包含這個開發工具。但是我為什麼只針對Excel VBA進行介紹呢?
因為我們希望進行2次開發時,通常是希望節省自己的工作時間,但是甚麼樣的工作最常遇到需要處理大量的資料呢?很明顯的就是Excel囉!所以我們會聚焦在Excel VBA開發上,事實上書局中陳列最多的也是Excel VBA,那Word、PowerPoint有沒有VBA呢?當然也是有,只是這些屬於創作型的軟體,幾乎用不到VBA來輔助完成工作,所以就乏人問津嚕~
瞭解了甚麼是VBA之後,你大概還是不懂VBA到底能幫你做些什麼事吧!其實只要你可以用手動操作得到結果的方式,VBA都可以幫你代勞,例如整理資料、開關檔、存檔、資料搜尋、資料搬移...等。這時候有些人就有疑問了,整理資料我用樞紐分析表就好啦!開關檔、存檔那麼簡單的工作自己來也就OK啦!另外資料搜尋我用函數VLookUp也可以解決!那我到底為什麼要學VBA呢?
這時候我就要恭喜你,你的工作內容還蠻單純的,所以你覺得還OK。但是我在生產線的時候就沒那麼簡單嚕!當你面對你要找的資料散佈在有數十個甚至上百個Excel檔案裡面,你必須一個一個打開,將你想要的資料擷取出來,並且經過一些數學運算之後重新製作表格然後再畫成圖表的時候,我想這不是樞紐分析跟函數可以完成的吧!
所以VBA主要適用於複雜而且重複性非常高或需要多重判斷之後才能取得結果的環境,因此簡單的運算需求其實函數比VBA更快速。很巧的是,我的工作就是需要用到許多判斷與開關不同資料檔去分析資料,所以為了偷懶就學了一些VBA寫作的方式,來降低每次開會前資料整裡的痛苦。我想經過這樣的一個簡單介紹,因該就對於Excel VBA有一些簡單的瞭解了!
另外說明一點,其實寫程式沒有那麼難,尤其是寫這一類二次開發的程式,其實原廠已經將許多複雜的部分去除掉了,真的沒有想像中的難。有人會問我學寫程式是數學要很好嗎?其實不用,因為我數學也不好,問我高中數學老師就知道了,好像都沒及格過...哈哈哈!!但是邏輯概念要強一點,不過這可以藉由訓練來增強,其實只要有興趣,程式也可以很簡單;如果沒興趣,再簡單也是學不會...你說是吧!
請先 登入 以發表留言。