關于我們
書單推薦
新書推薦
|
深入淺出Excel VBA 讀者對象:本書適合初學Excel VBA程序設計的讀者,以及非計算機專業(yè)、無實際編程經(jīng)驗的各行業(yè)人士學習使用,也可以作為大專院校學生的輔助教材或自學參考書。
本書基于作者在高校課堂和網(wǎng)絡教育中多年積累的教學經(jīng)驗,由淺入深地講解了Excel VBA 程序設計的知識與技巧,涵蓋數(shù)據(jù)處理、格式排版、文件管理、窗體設計,以及集合、字典、正則表達式、Web 信息提取等各方面常用技能。本書力求做到體系嚴謹、語言風趣,用輕松、生動的語言引導讀者領會 Excel VBA 編程的精髓與關鍵,進而一窺計算機科學世界的神奇與美妙。同時,本書精心設計了60 個改編自真實場景的原創(chuàng)案例,使每個環(huán)節(jié)的學習都能映射到實際生活中的需求,為初學者提供一條獨特、實用的VBA 學習路徑。此外,本書的主體內容與作者在網(wǎng)易云課堂開設的《全民一起VBA》系列視頻課程相互匹配并互有補充。該系列課程以生動幽默的動畫形式展現(xiàn)了Excel VBA 編程的全貌,讀者可以參照學習,加深理解。
資深軟件工程師,前同濟大學副教授,長期在高校從事計算機科學和信息管理領域的教學科研工作,擁有會計學學士、碩士,計算機科學碩士以及信息管理博士等學位,并曾從事計算機科學博士后研究。
第 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 沒有規(guī)矩不成方圓——有關變量的最佳實踐......................................................................24
2.2.1 變量的命名.................................................................................................................24
2.2.2 強制聲明.....................................................................................................................28
2.2.3 把重復數(shù)據(jù)都抽取為變量.........................................................................................31
2.3 常量——那些重復卻不變的內容..........................................................................................32
本章小結.........................................................................................................................................35
第3 章力量的源泉——循環(huán)結構..............................................................................36
3.1 循環(huán)結構概述.........................................................................................................................37
3.2 For…Next 循環(huán)語句...............................................................................................................38
3.2.1 For…Next 循環(huán)語句的基本語法...............................................................................38
3.2.2 For…Next 循環(huán)的典型用法.......................................................................................40
3.2.3 Step 子句.....................................................................................................................42
3.2.4 For…Next 循環(huán)的“初學者陷阱”...........................................................................45
3.3 用循環(huán)實現(xiàn)匯總——累加器與計數(shù)器..................................................................................48
3.4 縮進與注釋——提高代碼的可讀性......................................................................................50
3.4.1 代碼縮進.....................................................................................................................50
3.4.2 代碼注釋.....................................................................................................................52
本章小結.........................................................................................................................................53
第4 章智能的產生——判斷結構..............................................................................54
4.1 If 語句與關系運算.................................................................................................................55
4.1.1 用If 語句實現(xiàn)判斷結構............................................................................................55
4.1.2 用關系運算比較大小.................................................................................................57
4.1.3 用Else 和ElseIf 實現(xiàn)多分支判斷.............................................................................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 區(qū)分字符串與變量.....................................................................................................86
5.1.3 在字符串中表示特殊符號.........................................................................................86
5.2 字符串的理解要點.................................................................................................................89
5.2.1 空字符串.....................................................................................................................89
5.2.2 非打印字符(空白字符) .........................................................................................90
5.2.3 區(qū)分大小寫字符.........................................................................................................91
5.2.4 區(qū)分數(shù)字與字符串.....................................................................................................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 使用斷點與監(jiān)視...................................................................................................................101
6.2.1 “望聞”之術——設置斷點......................................................................................101
6.2.2 “問”的技巧——添加監(jiān)視......................................................................................102
6.2.3 “切”脈秘籍——讓程序單步執(zhí)行..........................................................................104
6.3 代碼“無間道”——Debug.Print 與立即窗口....................................................................109
本章小結....................................................................................................................................... 110
第7 章維度的拓展——再談循環(huán)結構..................................................................... 111
7.1 多重循環(huán)............................................................................................................................... 112
7.1.1 雙重循環(huán)的概念....................................................................................................... 112
7.1.2 初學者常見錯誤....................................................................................................... 114
7.1.3 更多層次的嵌套循環(huán)............................................................................................... 119
7.2 While 循環(huán)............................................................................................................................120
7.2.1 Do While 循環(huán)的基本用法.......................................................................................120
7.2.2 While 循環(huán)結構的初學者陷阱................................................................................123
7.2.3 Do While 循環(huán)的典型應用.......................................................................................125
7.2.4 While 循環(huán)的各種形式............................................................................................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 對錄制宏代碼的初步優(yōu)化.......................................................................................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 章結構的藝術——過程、函數(shù)與字符串處理.................................................193
10.1 子過程與“結構化程序設計” .........................................................................................194
10.1.1 子過程基本概念與調用方法.................................................................................194
10.1.2 變量的作用域.........................................................................................................198
10.1.3 參數(shù)的概念.............................................................................................................199
10.1.4 子過程與參數(shù)的更多細節(jié).....................................................................................202
10.2 函數(shù)與自定義公式.............................................................................................................204
10.2.1 函數(shù)的格式與功能.................................................................................................204
10.2.2 將函數(shù)作為表格公式.............................................................................................209
10.2.3 系統(tǒng)函數(shù)................................................................................................................. 211
10.2.4 Msgbox 函數(shù)...........................................................................................................212
10.3 字符串函數(shù).........................................................................................................................214
10.3.1 計算字符串長度.....................................................................................................214
10.3.2 將字符串規(guī)范化.....................................................................................................215
10.3.3 替換文本.................................................................................................................217
10.3.4 子串操作.................................................................................................................218
10.3.5 字符串函數(shù)的應用.................................................................................................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 數(shù)據(jù)類型..................................................................238
12.1 VBA 數(shù)據(jù)類型概述............................................................................................................239
12.1.1 為什么要劃分數(shù)據(jù)類型.........................................................................................239
12.1.2 變體類型的功與過...............................................................................................240
12.1.3 VBA 中的數(shù)據(jù)類型概覽........................................................................................243
12.2 數(shù)字類型.............................................................................................................................244
12.2.1 常用類型:Integer、Long 和Double(符號問題) ............................................244
12.2.2 其他類型:Byte、Single、Currency 和Decimal .................................................246
12.2.3 簡寫符號.................................................................................................................248
12.2.4 初學者陷阱:常數(shù)有時也要聲明類型.................................................................248
12.2.5 自動類型轉換與強制類型轉換.............................................................................250
12.3 字符串類型.........................................................................................................................253
12.3.1 字符的本質.............................................................................................................253
12.3.2 像數(shù)字一樣處理字符串.........................................................................................255
12.4 日期類型.............................................................................................................................258
12.4.1 日期和時間的一般表示.........................................................................................259
12.4.2 常用日期函數(shù).........................................................................................................259
12.4.3 日期類型的本質.....................................................................................................265
12.5 邏輯類型.............................................................................................................................266
12.5.1 邏輯值與邏輯運算.................................................................................................266
12.5.2 邏輯類型的應用.....................................................................................................269
12.6 對象類型.............................................................................................................................272
12.7 數(shù)據(jù)類型的檢測.................................................................................................................273
12.8 “無”的各種表示方法——Nothing、Null 與Empty .......................................................275
本章小結.......................................................................................................................................275
第13 章集體的名義——VBA 中的數(shù)組..................................................................277
13.1 數(shù)組的基本概念.................................................................................................................278
13.1.1 什么是數(shù)組.............................................................................................................278
13.1.2 數(shù)組聲明中的細節(jié)問題.........................................................................................279
13.1.3 數(shù)組的用途與技巧.................................................................................................281
13.2 動態(tài)數(shù)組.............................................................................................................................285
13.2.1 動態(tài)數(shù)組與ReDim 語句........................................................................................285
13.2.2 使用Split 拆分字符串............................................................................................287
13.3 多維數(shù)組與表格讀寫.........................................................................................................289
13.3.1 什么是二維數(shù)組.....................................................................................................289
13.3.2 二維數(shù)組與Range 對象(讀寫和處理效率、下標起點、單行單列讀寫)......291
13.3.3 多維數(shù)組的概念.....................................................................................................293
本章小結.......................................................................................................................................294
第14 章信息的整合——文件與文件夾操作............................................................295
14.1 讀寫文本文件.....................................................................................................................296
14.1.1 什么是文本文件.....................................................................................................296
14.1.2 文本文件的打開與讀取.........................................................................................296
14.1.3 將數(shù)據(jù)寫入文本文件.............................................................................................300
14.2 打開文件夾中的所有文件.................................................................................................302
14.2.1 Dir 函數(shù)的基本用法...............................................................................................302
14.2.2 Dir 函數(shù)的更多技巧...............................................................................................303
14.3 其他文件操作簡介.............................................................................................................305
本章小結.......................................................................................................................................306
第15 章選擇的自由——自定義參數(shù)及其他函數(shù)技巧.............................................307
15.1 可選參數(shù).............................................................................................................................308
15.1.1 Optional 與默認值..................................................................................................308
15.1.2 可選參數(shù)的省略與按名傳遞.................................................................................309
15.1.3 判斷可選參數(shù)是否被使用..................................................................................... 311
15.2 引用傳遞與值傳遞.............................................................................................................312
15.3 隨機數(shù)函數(shù)的使用.............................................................................................................314
15.3.1 Rnd 函數(shù)的基本用法.............................................................................................314
15.3.2 深入了解:“偽”隨機數(shù)與“種子” ...................................................................316
本章小結.......................................................................................................................................318
第16 章區(qū)域的管理——深入了解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 章“神經(jīng)”的連通——編寫事件處理程序.....................................................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 事件級聯(lián).............................................................................................................................348
17.4 訪問修飾符與靜態(tài)變量.....................................................................................................350
17.4.1 訪問修飾符.............................................................................................................350
17.4.2 靜態(tài)變量.................................................................................................................352
17.4.3 靜態(tài)變量在事件處理中的應用.............................................................................353
本章小結.......................................................................................................................................355
第18 章界面的革新——設計用戶窗體...................................................................356
18.1 窗體程序開發(fā)過程.............................................................................................................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 窗體控件綜合案例——將數(shù)據(jù)錄入工作表..........................................................375
18.3 其他常用控件及附加控件.................................................................................................378
18.3.1 其他常用控件簡介.................................................................................................378
18.3.2 附加控件的使用.....................................................................................................379
18.4 關于窗體與控件的其他要點.............................................................................................383
18.4.1 多窗體協(xié)同.............................................................................................................383
18.4.2 多個控件的對齊.....................................................................................................383
18.4.3 工作表中的ActiveX 控件......................................................................................384
本章小結.......................................................................................................................................385
第19 章工具的升級——集合、字典及正則表達式.................................................386
19.1 集合對象.............................................................................................................................387
19.2 字典對象.............................................................................................................................388
19.2.1 使用CreateObject 創(chuàng)建外部對象..........................................................................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 開發(fā)小型管理信息系統(tǒng).....................................................................................................418
20.3 深入操作Office 軟件與Windows 系統(tǒng)............................................................................421
20.4 算法的價值.........................................................................................................................421
結語 VBA 的未來....................................................................................................423
你還可能感興趣
我要評論
|