VBA(Visual Basic for Application)是微軟提出的一種新思惟,雖然不至於開放應用程式原始碼,至少讓操作者可以設計程式語言運作Excel,自從1994年的Excel 5.0版本開始,VBA成為Excel附隨功能,諸如Word、Outlook其他常用的Office套裝軟體也都支援此功能。多年來相關書籍不斷地推陳出新,VBA存在價值不言而喻。
很多公司職缺將電腦/Excel技能列為加項,以目前企業多數導入ERP系統化的狀況,各部門工作大都會接觸到大量資料,不管是業務、採購、生管、財會,資料處理最常用軟體即為Office套件中的Excel。而對於Excel稍有興趣的人,應該都聽過VBA,可能試過自己上網找資料、到書店翻書,一看到裡面都是程式代碼就被嚇到了,僅僅略知VBA很強大,然而不得其門而入。
如此殊為可惜!
贊贊小屋有十年於工作中磨練Excel、 一百多篇文章案例分享、近來更有出書講課的心得,綜合這些經驗起來,利用一堂課六個小時,延續向來以實務為導向的風格,畢其功於一役,幫助有志者快速切入VBA殿堂。套句星爺電影《食神》的老經典臺詞:只要有心,人人都可以學會VBA。
在此先以3W為面向,簡單介紹作個課程說明。
What:
VBA是比較接近自然語言的電腦程式,熟悉Excel函數都能夠理解,函數是與其意義很接近的英文單詞、搭配固定的參數用法所組成的特定規則運算。在VBA程式碼裡面,也是由一些接近英文原義的單詞,類似像邏輯語句般組成一條條程式語句,和Excel函數相同,VBA也有固定的參數跟用法,不過可想而知是更加嚴謹。
Why:
為什麼要學VBA,從另外一個角度來想,那就是學習VBA帶來什麼好處。這裡提出基本三項:
第一項:有些操作例如儲存格格式調整,每次都要調整字體、字型大小、數值格式、填滿顏色等步驟,無論再怎麼熟悉excel操作,經常要一再重覆這幾個步驟,每次還是要操作那幾個步驟,於是會有一個想法,如果可以把那幾個步驟包裏起來,組成一個類似懶人包的複合指令,每次只要一鍵命令,幾個步驟自動執行,效率不就一整個提昇上來。
第二項:Excel函數再怎麼厲害,跳不出以儲存格作為對象,VBA的對象相對於而非常寛廣,電腦資料夾、Excel檔案、活頁簿工作表等,所有這些皆為VBA對象,因此VBA在操作上是比Excel靈活許多。例如工作中幾個電腦資料夾必須一再建立,這種狀況便很適合交給VBA執行。
第三項:Excel資料編輯的輸入輸出,固定侷限在資料編輯列,許多情況總是有所不足。VBA除了直接程式語言將資料寫入儲存格,還可以透過自定表單的方式,讓操作者在類似函數視窗的對話方塊中輸入資料、或者是跳出訊息提示視窗。
以上是VBA相較於Excel三個較為特別的地方,除此之外,還有像是設定自動觸發事件、開啟其他應用程式交換資料、例如Word文書處理、Outlook收發信件、IE瀏覽器等,這是VBA更進階的用法了。
How:
最後第三個W,也是最關鍵的一個,究竟VBA魔法如何施展,這個需要一點時間,歡迎各位有興趣的讀者報名,來上這堂由贊贊小屋Excel魔法學院所開的課程!(目前該課程不再開設)
課程名稱:《高效率 Excel VBA 工作術》
上課地點:台北場淡江大學台北校區 台北市大安區金華街199巷5號
上課日期: 2017-12-24(星期日) 09:30~15:30
課程大綱:
一、巨集程式:錄製巨集到編寫程式
1.錄製巨集:重覆步驟錄製巨集一鍵播放
2.巨集按紐:把巨集程式儲存成指令按紐
3.編輯巨集:修改巨集的過程中開始VBA
4.VBA界面:初步介紹VBA各個編輯區塊
5.VBA編輯:嘗試編寫及執行簡單的程式
二、VBA入門:操作物件到設計程式
1.活頁簿物件:另存新檔或擷取檔案資料
2.工作表物件:複製或合併資料至新工作表
3.儲存格物件:批次調整格式或刪除空白列
4.Excel事件:開啟檔案即執行或固定時間備份
5.VBA函數:函數類型及套用Vlookup函數
三、VBA進階:
1.輸入輸出:InputBox視窗與MsgBox提示
2.流程控制:檢查邏輯判斷與依序迴圈進行
3.自訂表單:銷貨資料錄入與複核錯誤提示
4.創造函數:自定義多條件稅額計算的函數
5.下載網頁:批次取得網頁資料後自動整理