第1章 奇境的入口——從VBE走進VBA編程世界 1
1.1 在哪裏寫代碼——VBE與模塊 2
1.1.1 找到VBA編輯器 2
1.1.2 在正確的位置編寫代碼 4
1.2 見微知著——從一個簡單例子觀察VBA程序的結構 7
1.2.1 Sub / End Sub——程序的起始與結束 8
1.2.2 詞匯與語句——程序語言的基本要素 9
1.3 Cells與運算符——用VBA控製Excel單元格 10
1.3.1 Cells——代碼與錶格之間的第一個橋梁 11
1.3.2 賦值操作——等號的主要用途 12
1.3.3 加、減、乘、除——基本的算術運算符 12
1.4 VBA程序的運行與保存——按鈕、XLSM文件及宏安全性 13
1.4.1 宏與宏安全性 14
1.4.2 運行VBA程序的常用方法 14
1.4.3 XLSM文件——VBA程序的藏身之所 17
本章小結 18
第2章 程序的記憶——變量與常量 19
2.1 變量的作用與含義 19
2.1.1 為什麼需要使用變量 19
2.1.2 什麼是變量 21
2.1.3 再問一次:什麼是變量 22
2.1.4 前後對比——使用變量的好處 23
2.2 沒有規矩不成方圓——有關變量的最佳實踐 24
2.2.1 變量的命名 24
2.2.2 強製聲明 28
2.2.3 把重復數據都抽取為變量 31
2.3 常量——那些重復卻不變的內容 32
本章小結 35
第3章 力量的源泉——循環結構 36
3.1 循環結構概述 37
3.2 For…Next循環語句 38
3.2.1 For…Next循環語句的基本語法 38
3.2.2 For…Next循環的典型用法 40
3.2.3 Step子句 42
3.2.4 For…Next循環的“初學者陷阱” 45
3.3 用循環實現匯總——纍加器與計數器 48
3.4 縮進與注釋——提高代碼的可讀性 50
3.4.1 代碼縮進 50
3.4.2 代碼注釋 52
本章小結 53
第4章 智能的産生——判斷結構 54
4.1 If語句與關係運算 55
4.1.1 用If語句實現判斷結構 55
4.1.2 用關係運算比較大小 57
4.1.3 用Else和ElseIf實現多分支判斷 57
4.2 嵌套結構——多層If語句的使用 67
4.3 邏輯錶達式——怎樣錶示“與”“或”“非” 71
4.3.1 邏輯錶達式 71
4.3.2 常見邏輯運算符的使用方法 71
4.4 Select…Case結構 79
4.4.1 Select…Case結構的基本用法 79
4.4.2 在Case語句中錶示復雜條件 80
本章小結 81
第5章 文字的錶述——字符串基礎 83
5.1 字符串的基本概念與格式 84
5.1.1 什麼是字符串 84
5.1.2 區分字符串與變量 86
5.1.3 在字符串中錶示特殊符號 86
5.2 字符串的理解要點 89
5.2.1 空字符串 89
5.2.2 非打印字符(空白字符) 90
5.2.3 區分大小寫字符 91
5.2.4 區分數字與字符串 91
5.3 字符串連接操作 92
5.3.1 字符串連接符——“+”與“&” 92
5.3.2 靈活構造字符串 93
本章小結 96
第6章 診斷的技巧——程序調試 97
6.1 程序錯誤的類型與排查 97
6.1.1 編譯錯誤 98
6.1.2 運行時錯誤 99
6.1.3 邏輯錯誤 100
6.2 使用斷點與監視 101
6.2.1 “望聞”之術——設置斷點 101
6.2.2 “問”的技巧——添加監視 102
6.2.3 “切”脈秘籍——讓程序單步執行 104
6.3 代碼“無間道”——Debug.Print與立即窗口 109
本章小結 110
第7章 維度的拓展——再談循環結構 111
7.1 多重循環 112
7.1.1 雙重循環的概念 112
7.1.2 初學者常見錯誤 114
7.1.3 更多層次的嵌套循環 119
7.2 While循環 120
7.2.1 Do While循環的基本用法 120
7.2.2 While循環結構的初學者陷阱 123
7.2.3 Do While循環的典型應用 125
7.2.4 While循環的各種形式 129
7.3 Exit語句與Goto語句 131
7.3.1 跳齣當前結構——Exit語句的使用 131
7.3.2 隨心所欲難免逾矩——Goto語句及其利弊 133
7.3.3 異常處理——On Error Goto語句 134
本章小結 137
第8章 名字的魔力——麵嚮對象與錄製宏 138
8.1 麵嚮對象——程序員的世界觀 139
8.1.1 麵嚮過程與麵嚮對象簡述 139
8.1.2 類、對象、屬性、方法 141
8.2 從Range看VBA對象的使用方法 143
8.2.1 Range對象概述 143
8.2.2 Range對象的基本用法與技巧 144
8.2.3 設置單元格格式—— 字體、顔色及With結構 150
8.2.4 智能提示——使用As關鍵字聲明對象類型 156
8.3 Excel對象體係 157
8.3.1 瞭解所有對象——對象瀏覽器與MSDN 157
8.3.2 最常用的Excel對象 159
8.4 打開黑箱看代碼——錄製宏 160
8.4.1 宏的錄製過程 160
8.4.2 宏代碼的解讀與運用 162
8.4.3 對錄製宏代碼的初步優化 164
本章小結 165
第9章 能力的釋放——批量處理工作錶與工作簿 166
9.1 個體與集閤——再談Excel常用對象間的關係 167
9.2 工作錶對象 168
9.2.1 為Range對象指定所屬工作錶 168
9.2.2 技巧與陷阱——With與Range 170
9.2.3 最佳實踐——按名引用工作錶 172
9.2.4 遍曆所有工作錶 172
9.2.5 多個工作錶匯總的常用技巧 175
9.2.6 工作錶的其他常用操作 180
9.3 工作簿對象 183
9.3.1 工作簿文件的打開、保存與關閉 183
9.3.2 常用技巧——工作簿的拆分與匯總 187
本章小結 191
第10章 結構的藝術——過程、函數與字符串處理 193
10.1 子過程與“結構化程序設計” 194
10.1.1 子過程基本概念與調用方法 194
10.1.2 變量的作用域 198
10.1.3 參數的概念 199
10.1.4 子過程與參數的更多細節 202
10.2 函數與自定義公式 204
10.2.1 函數的格式與功能 204
10.2.2 將函數作為錶格公式 209
10.2.3 係統函數 211
10.2.4 Msgbox函數 212
10.3 字符串函數 214
10.3.1 計算字符串長度 214
10.3.2 將字符串規範化 215
10.3.3 替換文本 217
10.3.4 子串操作 218
10.3.5 字符串函數的應用 222
本章小結 223
第11章 萬物的源頭——Application對象 225
11.1 隱藏的Application對象 226
11.1.1 Cells的真實來曆 226
11.1.2 與Cells類似的情況 227
11.2 通過WorksheetFunction屬性調用公式 229
11.3 Application的其他屬性與方法 232
11.3.1 常用屬性 232
11.3.2 常用方法 235
本章小結 236
第12章 細分的好處——VBA數據類型 238
12.1 VBA數據類型概述 239
12.1.1 為什麼要劃分數據類型 239
12.1.2 變體類型的功與過 240
12.1.3 VBA中的數據類型概覽 243
12.2 數字類型 244
12.2.1 常用類型:Integer、Long和Double(符號問題) 244
12.2.2 其他類型:Byte、Single、Currency和Decimal 246
12.2.3 簡寫符號 248
12.2.4 初學者陷阱:常數有時也要聲明類型 248
12.2.5 自動類型轉換與強製類型轉換 250
12.3 字符串類型 253
12.3.1 字符的本質 253
12.3.2 像數字一樣處理字符串 255
12.4 日期類型 258
12.4.1 日期和時間的一般錶示 259
12.4.2 常用日期函數 259
12.4.3 日期類型的本質 265
12.5 邏輯類型 266
12.5.1 邏輯值與邏輯運算 266
12.5.2 邏輯類型的應用 269
12.6 對象類型 272
12.7 數據類型的檢測 273
12.8 “無”的各種錶示方法——Nothing、Null與Empty 275
本章小結 275
第13章 集體的名義——VBA中的數組 277
13.1 數組的基本概念 278
13.1.1 什麼是數組 278
13.1.2 數組聲明中的細節問題 279
13.1.3 數組的用途與技巧 281
13.2 動態數組 285
13.2.1 動態數組與ReDim語句 285
13.2.2 使用Split拆分字符串 287
13.3 多維數組與錶格讀寫 289
13.3.1 什麼是二維數組 289
13.3.2 二維數組與Range對象 291
13.3.3 多維數組的概念 293
本章小結 294
第14章 信息的整閤——文件與文件夾操作 295
14.1 讀寫文本文件 296
14.1.1 什麼是文本文件 296
14.1.2 文本文件的打開與讀取 296
14.1.3 將數據寫入文本文件 300
14.2 打開文件夾中的所有文件 302
14.2.1 Dir函數的基本用法 302
14.2.2 Dir函數的更多技巧 303
14.3 其他文件操作簡介 305
本章小結 306
第15章 選擇的自由——自定義參數及其他函數技巧 307
15.1 可選參數 308
15.1.1 Optional與默認值 308
15.1.2 可選參數的省略與按名傳遞 309
15.1.3 判斷可選參數是否被使用 311
15.2 引用傳遞與值傳遞 312
15.3 隨機數函數的使用 314
15.3.1 Rnd函數的基本用法 314
15.3.2 深入瞭解:“僞”隨機數與“種子” 316
本章小結 318
第16章 區域的管理——深入瞭解Range對象 320
16.1 遍曆Range內部單元格 321
16.1.1 Cells屬性 321
16.1.2 自定義公式 322
16.1.3 Rows與Columns屬性 323
16.2 獲取Range對象的描述信息 324
16.2.1 位置信息 324
16.2.2 公式信息 325
16.2.3 閤並單元格信息 326
16.3 重新定位Range對象 329
16.3.1 Offset、Resize與CurrentRegion屬性 329
16.3.2 Worksheet對象的Cells與UsedRange屬性 333
16.3.3 Application對象的Union與Intersection方法 334
16.4 Find與Sort方法簡介 334
16.4.1 Range.Find方法 334
16.4.2 Range.Sort方法 336
本章小結 337
第17章 “神經”的連通——編寫事件處理程序 339
17.1 事件編程基本概念與過程 340
17.1.1 事件與事件響應 340
17.1.2 事件編程的基本步驟 340
17.2 Excel常用事件 343
17.2.1 工作錶事件 343
17.2.2 工作簿常用事件 347
17.3 事件級聯 348
17.4 訪問修飾符與靜態變量 350
17.4.1 訪問修飾符 350
17.4.2 靜態變量 352
17.4.3 靜態變量在事件處理中的應用 353
本章小結 355
第18章 界麵的革新——設計用戶窗體 356
18.1 窗體程序開發過程 357
18.1.1 窗體與控件 357
18.1.2 窗體模塊與設計器 357
18.1.3 指定屬性和外觀 359
18.1.4 為窗體事件編寫代碼 361
18.1.5 窗體的顯示與退齣 363
18.2 窗體與常用控件的屬性、事件和方法 365
18.2.1 窗體對象 365
18.2.2 標簽與文本框 367
18.2.3 列錶框與組閤框 369
18.2.4 單選按鈕、復選框及框架 372
18.2.5 窗體控件綜閤案例——將數據錄入工作錶 375
18.3 其他常用控件及附加控件 378
18.3.1 其他常用控件簡介 378
18.3.2 附加控件的使用 379
18.4 關於窗體與控件的其他要點 383
18.4.1 多窗體協同 383
18.4.2 多個控件的對齊 383
18.4.3 工作錶中的ActiveX控件 384
本章小結 385
第19章 工具的升級——集閤、字典及正則錶達式 386
19.1 集閤對象 387
19.2 字典對象 388
19.2.1 使用CreateObject創建外部對象 388
19.2.2 字典的概念與應用 390
19.2.3 字典的其他常用屬性與方法 393
19.3 正則錶達式入門 394
19.3.1 什麼是正則錶達式 395
19.3.2 正則錶達式的基本語法 396
19.3.3 在VBA中使用正則錶達式 410
本章小結 415
第20章 天地的無窮——那些未及細說的主題 416
20.1 類模塊與自定義類 417
20.2 開發小型管理信息係統 418
20.3 深入操作Office軟件與Windows係統 421
20.4 算法的價值 421
結語 VBA的未來 423
· · · · · · (
收起)