Excel VBA 程序開發自學寶典, 4/e

羅剛君

  • 出版商: 電子工業
  • 出版日期: 2021-07-01
  • 定價: $714
  • 售價: 8.5$607
  • 語言: 簡體中文
  • 頁數: 524
  • 裝訂: 平裝
  • ISBN: 712141435X
  • ISBN-13: 9787121414350
  • 相關分類: Excel
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

《Excel VBA 程序開發自學寶典(第 4 版)》是 VBA 入門與提高的經典教材。全書包含基礎知識部分和高級應用部分。其中,基礎知識部分包含 VBA 的基礎理論、常用語句解析、綜合應用、編程規則與代碼優化等,提供了詳盡的理論闡述和案例演示。高級應用部分包含數組、正則表達式、字典、設計窗體、VBA 與註冊表、處理文件及文件夾、開發自定義函數、ribbon 功能區設計、與Word/PPT 協同辦公,以及開發通用插件等專業知識。本書基於Excel 2019 撰寫,不過代碼可在Excel 2010、Excel 2013 和Excel 2016 中通用。如果你的Excel 版本不是2019 也可以不用升級,可以直接閱讀本教材,按步驟操作即可。本書是《Excel VBA 程序開發自學寶典(第3 版)》的升級版,在升級過程中做了大量的修改,包括調整章節順序、舍棄部分實用性不好的內容、刪除一些已經淘汰的技術、增加全新案例和章節等,特別是講解了Excel VBA 與Word、PPT 的協同辦公知識,有必要認真學習。本書附贈案例源文件和案例源代碼,以及復雜案例的演示視頻。

作者簡介

羅剛君,網名andysky,從事Excel研究及VBA二次開發10多年,擅長Excel函數、圖表、透視表和VBA,尤其對Excel VBA有著相當豐富的開發經驗和熟練的實戰技能,也擁有豐碩的開發成果。
作者擔任過近10個Excel相關論壇的版主,著有15本Excel圖書,書名如下:帶你玩轉Excel VBA》

目錄大綱

目錄
1 章初步感受VBA 的魅力.......................................................................................... 1
1.1 批量任務一鍵執行................................................................................................... 1
1.1.1 準備工作...................................................................................................... 1
1.1.2 程序測試...................................................................................................... 1
1.1.3 案例點評...................................................................................................... 2
1.2 數據匯總自動完成................................................................................................... 2
1.2.1 案例需求...................................................................................................... 2
1.2.2 程序測試...................................................................................................... 3
1.2.3 案例點評...................................................................................................... 3
1.2.4 開發專業程序............................................................................................... 4

2 章VBA 程序入門...................................................................................................... 5
2.1 如何存放代碼........................................................................................................... 5
2.1.1 認識模塊...................................................................................................... 5
2.1.2 管理模塊...................................................................................................... 6
2.2 如何產生代碼........................................................................................................... 7
2.2.1 複製現有的代碼........................................................................................... 7
2.2.2 錄製宏.......................................................................................................... 7
2.2.3 手工編寫代碼............................................................................................... 9
2.2.4 從模板中獲取代碼..................................................................................... 10
2.3 如何調用代碼......................................................................................................... 10
2.3.1 <F5>鍵.................................................................................................... 10
2.3.2  組合鍵...................................................................................... 11
2.3.3 自定義快捷鍵............................................................................................. 12
2.3.4 按鈕............................................................................................................ 12
2.3.5 菜單............................................................................................................ 13
2.4 如何保存代碼......................................................................................................... 13
2.4.1 工作簿格式................................................................................................ 13
2.4.2 解決丟失代碼問題..................................................................................... 14
2.4.3 顯示文件擴展名......................................................................................... 14
2.5 如何放行代碼......................................................................................................... 15
2.5.1 調整“宏設置” ......................................................................................... 16
2.5.2 添加受信任位置......................................................................................... 16
2.6 如何查詢代碼幫助................................................................................................. 17
2.6.1 Ecel 不同版本中的幫助差異.................................................................... 17
2.6.2 如何調用幫助系統..................................................................................... 17
2.7 如何簡化開發難度................................................................................................. 19
2.7.1 錄製宏........................................................................................................ 19
2.7.2 調用內置提示............................................................................................. 19
2.7.3 調用筆記.................................................................................................... 21

3 章VBA 的程序結構詳解......................................................................................... 22
3.1 Sub 過程基本語法................................................................................................. 22
3.1.1 認識程序結構............................................................................................. 22
3.1.2 為VBA 程序添加註釋................................................................................ 23
3.2 過程的作用範圍..................................................................................................... 24
3.2.1 何謂作用範圍............................................................................................. 24
3.2.2 公有過程與私有過程的區別...................................................................... 24
3.3 過程的命名規則..................................................................................................... 25
3.4 過程的參數............................................................................................................ 25
3.5 過程的執行流程..................................................................................................... 26
3.5.1 正常的執行流程......................................................................................... 26
3.5.2 改變程序的執行流程................................................................................. 26
3.6 中斷過程................................................................................................................ 27

3.6.1 結束過程:End Sub .................................................................................. 27

3.6.2 中途結束過程:Eit Sub ............................................................................ 27

3.6.3 中途結束一切:End .................................................................................. 27

3.6.4 暫停過程:St0p ......................................................................................... 27

3.6.5 手動暫停程序:Ctrl+Break ....................................................................... 28

4 章VBA 大基本概念............................................................................................. 29
4.1 Ecel 的對象.......................................................................................................... 29
4.1.1 什麼是對象................................................................................................ 29
4.1.2 對象與對象集合......................................................................................... 30
4.1.3 對象的層次結構......................................................................................... 32
4.1.4 父對象與子對象......................................................................................... 33
4.1.5 活動對象.................................................................................................... 34
4.2 對象的方法和屬性................................................................................................. 35
4.2.1 屬性與方法的區別..................................................................................... 36
4.2.2 查詢方法與屬性的兩種方法...................................................................... 36
4.2.3 方法與屬性的應用差異.............................................................................. 37
4.3 對象的事件............................................................................................................ 40
4.3.1 什麼是事件................................................................................................ 40
4.3.2 事件的分類及其層級關係.......................................................................... 41
4.3.3 工作簿事件與工作表事件一覽.................................................................. 41
4.3.4 工作簿與工作表事件的作用對象.............................................................. 42
4.3.5 快速掌握事件過程..................................................................................... 44
4.3.6 何時需要使用事件過程.............................................................................. 44

5 章通過變量強化程序功能...................................................................................... 45
5.1 數據類型................................................................................................................ 45
5.1.1 為什麼要區分數據類型.............................................................................. 45
5.1.2 認識VBA 的數據類型................................................................................ 45
5.2 聲明變量................................................................................................................ 47
5.2.1 變量的定義................................................................................................ 47
5.2.2 變量的聲明方式......................................................................................... 47
5.2.3 變量的賦值方式與初始值.......................................................................... 49
5.2.4 如何確定變量的數據類型正確.................................................................. 50
5.2.5 正確聲明變量的數據類型的優勢.............................................................. 50
5.2.6 變量的作用域............................................................................................. 52
5.2.7 變量的生命週期......................................................................................... 53
5.3 對像變量................................................................................................................ 53
5.3.1 如何區分對像變量和數據變量.................................................................. 54
5.3.2 對變量賦值................................................................................................ 54
5.3.3 使用對像變量的優勢................................................................................. 55
5.4 聲明常量................................................................................................................ 56
5.4.1 常量的定義與用途..................................................................................... 56
5.4.2 常量的聲明方式......................................................................................... 57
5.2.3 常量的命名規則......................................................................................... 57

6 章詳解五大常用對象.............................................................................................. 59
6.1 對象基礎知識......................................................................................................... 59
6.1.1 對象的結構................................................................................................ 59
6.1.2 對象與對象的集合..................................................................................... 60
6.1.3 引用集合中的單一對象.............................................................................. 60
6.1.4 父對象與子對象......................................................................................... 60
6.1.5 活動對象.................................................................................................... 61
6.1.6 使用變量簡化對象的引用.......................................................................... 61
6.1.7 使用With 語句簡化對象的引用................................................................. 62
6.2 單元格對象............................................................................................................ 63
6.2.1 Range("A1")方式引用單元格..................................................................... 64
6.2.2 Cells(1,1)方式引用單元格......................................................................... 66
6.2.3 [a1]方式引用單元格.................................................................................. 67
6.2.4 Range("A1")、Cells(1,1)與[a1]比較................................................ 68
6.2.5 Selection 與ActiveCell:當前選區與活動單元格..................................... 69
6.2.6 已用區域與當前區域................................................................................. 69
6.2.7 SpecialCells:按條件引用區域................................................................. 70
6.2.8 CurrentArray:引用數組區域.................................................................... 74
6.2.9 Resize:重置區域大小.............................................................................. 75
6.2.10 Offset:根據偏移量引用新區域.............................................................. 76
6.2.11 Union:多區域合集................................................................................. 78
6.2.12 Intersect:單元格、區域的交集.............................................................. 79
6.2.13 End:引用源區域的區域尾端的單元格.................................................. 80
6.2.14 EntireRow/EntireColumn:擴展至整行、整列........................................ 81
6.2.15 RangeSelection:工作表中的選定單元格.............................................. 82
6.2.16 VisibleRange:指定窗口的可見區域...................................................... 83
6.3 批註對象................................................................................................................ 84
6.3.1 批註對象的特點......................................................................................... 84
6.3.2 判斷單元格中是否有批註.......................................................................... 85
6.3.3 AddComment:對單元格添加批註.......................................................... 85
6.3.4 AutoSize:讓批註框自動縮放................................................................... 86
6.3.5 AutoShapeType:修改批註的外觀........................................................... 86
6.3.6 ClearComments:清空表中所有批註....................................................... 86
6.4 圖形對象................................................................................................................ 87
6.4.1 Shapes:圖形對象集合............................................................................ 87
6.4.2 圖形對象的名稱......................................................................................... 87
6.4.3 隱藏的圖形對象集合................................................................................. 88
6.5 表對象.................................................................................................................... 90
6.5.1 表的類別.................................................................................................... 90
6.5.2 Worksheets:工作表集合.......................................................................... 90
6.5.3 引用工作表子集......................................................................................... 91
6.5.4 ActiveSheet:活動表................................................................................. 91
6.5.5 工作表的特性............................................................................................. 92
6.5.6 新建工作表................................................................................................ 93
6.6 工作簿對象............................................................................................................ 93
6.6.1 工作簿格式與特性..................................................................................... 93
6.6.2 新建工作簿................................................................................................ 94
6.6.3 Workbooks:工作簿集合.......................................................................... 94
6.6.4 引用工作簿子集......................................................................................... 94
6.6.5 ActiveWorkbook:活動工作簿.................................................................. 94

7 章常用語句解析..................................................................................................... 95
7.1 輸出/輸入語句........................................................................................................ 95
7.1.1 MsgBo 函數.............................................................................................. 95
7.1.2 Application.InputBo 方法......................................................................... 98
7.2 條件判斷語句....................................................................................................... 103
7.2.1 IIf 函數的語法與應用............................................................................... 103
7.2.2 IIf 函數的限制........................................................................................... 105
7.2.3 If Then 語句的語法詳解........................................................................... 106
7.2.4 If Then 應用案例...................................................................................... 106
7.2.5 If Then Else 語句的語法與應用............................................................... 107
7.2.6 多條件嵌套的條件判斷語句.................................................................... 110
7.2.7 Select Case 語法詳解.............................................................................. 114
7.2.8 Select Case 與If Then Else 之比較......................................................... 117
7.2.9 借用Choose 函數簡化條件選擇............................................................. 118
7.3 循環語句.............................................................................................................. 120
7.3.1 For Net 語句........................................................................................... 120
7.3.2 For Each Net 語句.................................................................................. 127
7.3.3 Do Loop 語法詳解................................................................................... 132
7.4 錯誤處理語句....................................................................................................... 140
7.4.1 錯誤類型與原因....................................................................................... 140
7.4.2 err 對象及其屬性、方法.......................................................................... 141
7.4.3 認識Error 函數........................................................................................ 142
7.4.4 On Error GoTo line ................................................................................... 142
7.4.5 On Error Resume Net ............................................................................. 146
7.4.6 On Error GoTo 0 ...................................................................................... 151
7.5 瀏覽語句.............................................................................................................. 151
7.5.1 認識FileDialog 對象................................................................................ 151
7.5.2 選擇路徑.................................................................................................. 152
7.5.3 選擇文件.................................................................................................. 153
7.5.4 按類型選擇文件....................................................................................... 154

8 章開發自啟動程序............................................................................................... 157
8.1 讓宏自動執行....................................................................................................... 157
8.1.1 Auto 自動宏.............................................................................................. 157
8.1.2 升級版自動宏:事件............................................................................... 158
8.1.3 事件的禁用與啟用................................................................................... 160
8.1.4 事件的特例.............................................................................................. 161
8.2 工作表事件.......................................................................................................... 162
8.2.1 在狀態欄提示#大值的單元格地址......................................................... 162
8.2.2 快速輸入出勤表....................................................................................... 163
8.2.3 在狀態欄顯示選區的字母、數字、漢字個數......................................... 164
8.2.4 實時監控單元格每一次編輯的數據與時間............................................. 166
8.2.5 利用數字簡化公司名輸入........................................................................ 168
8.2.6 輸入數據時自動跳過帶公式的單元格..................................................... 170
8.3 工作簿事件.......................................................................................................... 171
8.3.1 新建工作表時自動設置頁眉.................................................................... 171
8.3.2 未匯總則禁止打印與關閉工作簿............................................................ 172
8.3.3 自動選中相同值併計數............................................................................ 174
8.3.4 設計未啟用宏就無法打開的工作簿......................................................... 176
8.4 定時執行的程序................................................................................................... 177
8.4.1 基本語法.................................................................................................. 178
8.4.2 每天在13:28 語音提示開會.................................................................... 178
8.4.3 在單元格中顯示當前時期........................................................................ 179

9 章綜合應用案例................................................................................................... 181
9.1 Application 應用案例........................................................................................... 181
9.1.1 計算字符表達式....................................................................................... 181
9.1.2 合併相同且相鄰的單元格........................................................................ 182
9.1.3 定時打印文件........................................................................................... 184
9.1.4 模擬鍵盤快捷鍵打開高#級選項................................................................ 185
9.1.5 使用快捷鍵合併與取消合併單元格......................................................... 186
9.1.6 查找至少兩月未付貨款的客戶名稱......................................................... 188
9.2 Range 對象應用案例........................................................................................... 190
9.2.1 合併工作表.............................................................................................. 190
9.2.2 合併區域且保留所有數據........................................................................ 193
9.2.3 合併計算多區域的值............................................................................... 194
9.2.4 模糊查找公司名稱並羅列出來................................................................ 196