Excel VBA專業入門實戰操作課
VBA是什麼?對工作有什麼幫助?
你是否需要在 Word 中重複清除大量資料表?你是否想要在開啟特定文件時提示使用者輸入?而Visual Basic for Applications(VBA),是一款由 Microsoft 的開發工具,主要是用來幫助使用者依據各自需求,設計出合適的自動化功能,以提升工作效率。在工作上需要大量、重複性整理 Excel 資料的人,非常適合使用 VBA,例如,產出報表的財務會計、整理營運數據的行政助理,只要運用 VBA 就能將這些重複步驟直接儲存成程式碼,設定為自動化流程,一鍵就能生成報表。
程式零基礎也能用VBA?
其實,VBA也是一種程式語言,但並非是python、C+語言需要有基礎程式概念的應用者。而Excel 內運行 VBA 程式碼的應用程式就是「巨集」。換言之,巨集功能是一種自動化系統,而VBA則是下達指令的語言,只需要在巨集裡面設定好指令跟程式碼,後續只要點擊執行巨集,就能自動執行系統作業流程。而巨集最大的好處在於「不需另外下載、安裝」,只要安裝Micorsoft Office 軟體,系統就會內建巨集功能,不過,系統預設巨集功能是關閉的,需自行手動開啟及輸入 VBA 語法後才能使用。
如何使用VBA?為何會有錯誤?
可以從找範例來開始練習,嘗試將工作劃分成較小的單元,然後搜尋各個單元,或者想一個類似的常見問題。 使用範例來開始,可讓您節省數小時的時間。對於初學者而言,可能會有兩種常見錯誤導致輸入失敗:「語法」錯誤,該錯誤違反程式設計語言的文法規則;以及「執行階段」錯誤,該錯誤在語法上看似正確,但是會在 VBA 嘗試執行程式碼時失敗。所以,如何監看當VBA語法執行時不同變數和屬性的值,亦或是在功能表中利用偵錯工具,找出語法上的錯誤?就是掌握Excel VBA的一大關鍵。
課程的三大重點
基礎概念:掌握 Excel VBA 自動化能力,提升專業競爭的優勢
本課程第一大重點,首重理解Excel VBA 自動化能力的優勢為何?除了最直接的自動化任務,例如編寫VBA宏,以執行數據匯總、報告生成、數據清理等任務,而無須手動進行每一步,還有訂制功能、自定義Excel VBA 解決方案、錯誤處理和調式、工作流程自動化等功能。課程中,業師將進一步講解學習Excel VBA ,如何更有效使用Excel ,降低手動工作、提高生產力、避免人工出錯率,並處理更複查的數據處理和分析任務,這是任何人與行業中極具價值的技能。
工具介紹:善用錄製巨集與基礎語法,輕鬆解決 Excel 常見的難題
在本課程第二大重點中,業師將說明非資訊科系使用者的痛點,因為不懂程式語法,或是零基礎者,實在很難使用程式碼來進行工作。因此,本課程將引導專注在使用原本就會的Excel 功能,搭配分段錄製巨集,加上 VBA 基礎語法來組合與修正,即可輕鬆的學會使用 VBA 自動化處理 Excel 常見的難題。包含,VBA語法操作環境、語法結構、編輯VBA語法等的基礎原則,對於新手而言,只要掌握原理原則,就不再煩惱Excel使用時的難題!
實戰練習:陣列語法與取得檔案資訊,探索處理大量 Excel 檔案的潛力
在本課程的最後一大重點中,業師將手把手實際操作開始,逐步拆解 Excel VBA 中的陣列語法,由淺入深詳細的解說,帶領使用者避開學習陣列語法的陷阱,實際掌握取得檔案資訊的關鍵技巧,以確保 Excel 自動化處理大量檔案的正確性,並能探索出可以提升執行效率的新解決方案。
課程大綱
Excel 功能、函數與巨集
學習Microsoft Excel VBA 最好的方法之一,就是利用錄製巨集。先了解錄製巨集的限制與方法,即可紀錄平常操作 Excel 的方式,轉換為 VBA 語法。當面對處理例行性重複的Excel 操作時,需要先思考該用 Excel 的什麼功能或是函數組合才能解決問題,再分解錄製個別操作的巨集,最後組合各個巨集,加以測試修正來達成目的。
1-1 EXCEL 常用功能 美化表格
1-2 錄製巨集的注意事項
1-3 錄製巨集
1-4 檢視巨集程式碼
1-5 測試執行巨集
1-6 巨集檔案儲存的格式
1-7 巨集的安全設定
1-8 絕對位址、相對位址錄製巨集
1-9 巨集儲存的位置_在此活頁簿
1-10 巨集儲存的位置_個人巨集活頁簿
1-11 巨集的匯出與匯入
Excel VBA 語法的基礎原則
剛學會使用錄製巨集後,一定有天下無難事的感受,彷彿錄製巨集即可解決所有 Excel 操作的難題。其實,錄製巨集仍有許多的限制,需要透過修改 VBA 語法才能順利達成目的。透過本單元,將學會使用 VBA Editor 的各種偵錯方法來測試、找出可能的錯誤。另外,也需要學會宣告、使用變數的技巧,以及明瞭不同變數宣告所影響的範圍,才可確保 VBA 語法運作的正確性。
2-1 認識 VBA Editor 的操作環境
2-2 VBA 語法的結構
2-3 VBA 網頁說明查詢物件模型、屬性、方法
2-4 在 VBA Editor 中瀏覽物件
2-5 編輯 VBA 語法中使用候選清單
2-6 VBA 語法拼字錯誤
2-7 VBA 語法除錯_新增監看式
2-8 VBA 語法除錯_設定中斷點
2-9 VBA 語法除錯_區域變數視窗
2-10 VBA 語法除錯_MsgBox 函數
2-11 宣告變數的資料型態
2-12 執行階段錯誤_溢位
2-13 使用 VBA 函數轉換資料型態
2-14 強制宣告變數
2-15 宣告常數
2-16 變數影響的範圍_區域變數
2-17 變數影響的範圍_模組變數
2-18 變數影響的範圍_全域變數
流程控制的選擇結構
在 VBA 執行的流程中,並非所有情境是一成不變的。當執行過程中可能出現不同的狀況時,是否已有準備相對應的處理步驟、方法?或是,將顯示提醒訊息來告知使用者?這就是本單元的主題,學會 VBA 語法中各種判斷的選擇結構語法。
3-1 關係運算子
3-2 邏輯運算子
3-3 If Then Else
3-4 IF ElseIf Else
3-5 Select case
3-6 巢狀選擇結構 If Then Else
3-7 IIF 函數
3-8 Choose 函數
3-9 Switch 函數
3-10 GoTo 語法
3-11 On Error GoTo 語法
流程控制的重複結構
VBA 強大的功能之一即是處理大量重複的動作。方法一是將同樣的 VBA 語法重複貼上後,再直行即可。但是,缺點是後續會有不易維護或修改語法容易出錯的問題,而且執行效能上也會較差。因此,學會使用 VBA 迴圈語法來處理重複的動作,除了可以增加執行的效率之外,後續也非常容易維護與修改。
4-1 For Next
4-2 巢狀 For Next
4-3 Do Loop 前測式條件
4-4 Do Loop 後測式條件
4-5 Do Loop 無窮迴圈
常用的物件、屬性、方法
在學會VBA 語法中各種判斷的選擇結構語法與迴圈語法來處理重複的動作之後,已經可以處理 Excel 常見的問題了。因此本單元將介紹認識 Excel 中常見的物件、屬性、方法的 VBA 語法,來提升解決 Excel 問題的基礎能力。
5-1 Application 物件
5-1-1 Workbooks、Worksheets、Caption、DisplayStatusBar
5-1-2 宣告物件變數
5-1-3 WindowState、DisplayFullScreen、DisplayAlerts、EnableEvents
5-1-4 FileDialog、Dialogs
5-2 Workbook 屬性與方法
5-2-1 Count、Name、FullName、Path、Saved、Password
5-2-2 Add、Activate、SaveAs、Save、SaveCopyAs、Open、Close
5-3 Worksheets 屬性與方法
5-3-1 Count、Name、Visible、Rows、Columns
5-3-2 Range、UsedRange、ScrollArea、ClearContents
5-3-3 Activate、Add、Copy、Delete、Move、PrintPreview
5-3-4 Protect、Unprotect、On Error Resume Next
5-4 Range 表示式
5-5 Range 屬性與方法
5-5-1 Value、NumberFormat、NumberFormatLocal、Text
5-5-2 Font、ClearFormats、RowHeight、ColumnWidth
5-5-3 Interior、Borders、Formula、HasFormula、Locked
5-5-4 Row、Column、EntireRow、EntireColumn
5-5-5 Address、CurrentRegion、Count、CountLarge
5-5-6 Next、Previous、Offset、End、Name、Resize
5-5-7 Activate、ClearComments、ClearFormats、ClearContents、Clear
5-5-8 Copy、Delete、Insert、Cut
5-5-9 PasteSpecial
5-5-10 Merge、UnMerge、ShrinkToFit、AutoFit
5-5-11 AutoFill、FillDown、FillRight、FillLeft、FillUp
5-5-12 Formula、FormulaR1C1
5-3 彙總迭代器函式_較高粒度摘要
5-4 RANKX、HASONEVALUE 函數
使用陣列
在執行 VBA 流程中,如果遭遇大量的物件做同樣的動作,感覺執行效率低時,則可改用陣列語法來改善。因為陣列語法大多在暫存記憶體中運作,執行速度極快。學會使用陣列語法,是提升 VBA 專業的必學知識。
6-1 變數與陣列
6-2 使用一維陣列
6-3 For Next 執行陣列
6-4 For Each Next 執行陣列
6-5 動態陣列
6-6 二維陣列
使用 FileSystemObject外部程式
使用Excel VBA 執行動作的過程中,如需要使用 Excel 之外的系統功能或應用程式功能,就需要引用外部程式庫。本單元將使用 FileSystemObject外部程式來取得檔案資訊。這在解決大量Excel 檔案的處理時非常重要。
7-1 前期引用外部程式庫取得檔案資訊
7-2 後期引用外部程式庫取得檔案資訊
7-3 檔案資訊加入時間
7-4 顯示檔案的摘要資訊
7-5 顯示資料夾的屬性
7-6 建立與刪除資料夾
7-7 複製與移動資料夾
7-8 使用 FileDialog 選取檔案及資料夾
綜合應用
已經學習上述 Excl VBA 所有單元的知識後,接著課程將以職場上常見的 16 個Excel 情境來做實際操作的演練。記得先拆解需要操作的步驟,善加利用錄製巨集,再輔以各單元的 VBA 語法技巧來修改,最後反覆測試、偵錯、再修正。逐漸累積經驗後,即可舉一反三的解決平時的操作難題,進而提升 Excel 執行的效率。
8-1 迴圈公式
8-2 使用公式陣列
8-3 刪除工作表
8-4 分割多個資料範圍
8-5 空白列新增與刪除
8-6 取出字串中的姓名
8-7 取出字串中的姓名並依字數加入遮罩
8-8 指定複製工作表內容
8-9 日期特殊狀況
8-10 拆解資料
8-11 分割多個工作表為CSV
8-12 匯入多個 CSV 檔案
8-13 匯入多個 CSV 檔案成單一工作表
8-14 匯入多個活頁簿
8-15 匯入多個活頁簿成單一工作表
8-16 多個工作表合併成單一工作表
課程學習前須知
- 實際授課內容、順序、師資或有調整,依課程現場為準。
加入我們一起學習 Excel VBA專業入門實戰操作課
授課業師
施文華
業師 20 多年來在各個公部門或企業中,專精 Microsoft Office System精進培訓的領域。擅長教導學員掌握各個應用程式的核心技能,並透過整合不同資訊工具來滿足職場需求。另透過輔導專案管理結合Microsoft Project 與 Microsoft Project Server 的經驗,跨足了企業管理與流程管理等相關的教育訓練及輔導。曾任台北市公務人員訓練處特約講師、大專院校推廣部特約講師。
課程資訊
課程名稱
Excel VBA專業入門實戰操作課(C1506)
課程各期時間與上課模式
#線上預錄
。上課模式:線上錄製影片
。觀看方式:訂單完成隔日工作日寄送觀看Email(信內附上影片連結,未收到Email,請務必與我們聯繫)
。觀看時間:依購買天數方案,自「觀看通知Email」寄送日起算第一天。
課程售票
一般推廣票:每人 4,650 元(原價7,200 元)
雙人以上團報票:每人新台幣 3,800 元(原價 超優惠 5.3折)
VIP票券兌換:每人扣 1 張VIP票券 ( VIP申購方案 )
課前搶先問
Excel VBA是Visual Basic for Applications的縮寫,是一種用於Excel的程式語言,可以用來自動化執行各種任務。
VBA支持各種變數類型,包括整數(Integer)、長整數(Long)、浮點數(Double)、字符串(String)等。
VBA中的事件是指當發生特定動作時觸發的程式碼,例如工作表的選擇變化或單元格的變更。
函數返回一個值,而過程則只是執行一系列指令而不返回值。
使用陣列來儲存和處理多個數據值,可以使用For Each…Next語句來遍歷陣列。
使用ADO(ActiveX Data Objects)對象,建立與資料庫的連接,然後執行SQL查詢。
使用CreateObject函數來建立對其他應用程式(如Word、Outlook)的引用,然後執行相應的操作。