關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
深入淺出Excel VBA 讀者對(duì)象:本書(shū)適合初學(xué)Excel VBA程序設(shè)計(jì)的讀者,以及非計(jì)算機(jī)專(zhuān)業(yè)、無(wú)實(shí)際編程經(jīng)驗(yàn)的各行業(yè)人士學(xué)習(xí)使用,也可以作為大專(zhuān)院校學(xué)生的輔助教材或自學(xué)參考書(shū)。
本書(shū)基于作者在高校課堂和網(wǎng)絡(luò)教育中多年積累的教學(xué)經(jīng)驗(yàn),由淺入深地講解了Excel VBA 程序設(shè)計(jì)的知識(shí)與技巧,涵蓋數(shù)據(jù)處理、格式排版、文件管理、窗體設(shè)計(jì),以及集合、字典、正則表達(dá)式、Web 信息提取等各方面常用技能。本書(shū)力求做到體系嚴(yán)謹(jǐn)、語(yǔ)言風(fēng)趣,用輕松、生動(dòng)的語(yǔ)言引導(dǎo)讀者領(lǐng)會(huì) Excel VBA 編程的精髓與關(guān)鍵,進(jìn)而一窺計(jì)算機(jī)科學(xué)世界的神奇與美妙。同時(shí),本書(shū)精心設(shè)計(jì)了60 個(gè)改編自真實(shí)場(chǎng)景的原創(chuàng)案例,使每個(gè)環(huán)節(jié)的學(xué)習(xí)都能映射到實(shí)際生活中的需求,為初學(xué)者提供一條獨(dú)特、實(shí)用的VBA 學(xué)習(xí)路徑。此外,本書(shū)的主體內(nèi)容與作者在網(wǎng)易云課堂開(kāi)設(shè)的《全民一起VBA》系列視頻課程相互匹配并互有補(bǔ)充。該系列課程以生動(dòng)幽默的動(dòng)畫(huà)形式展現(xiàn)了Excel VBA 編程的全貌,讀者可以參照學(xué)習(xí),加深理解。
資深軟件工程師,前同濟(jì)大學(xué)副教授,長(zhǎng)期在高校從事計(jì)算機(jī)科學(xué)和信息管理領(lǐng)域的教學(xué)科研工作,擁有會(huì)計(jì)學(xué)學(xué)士、碩士,計(jì)算機(jī)科學(xué)碩士以及信息管理博士等學(xué)位,并曾從事計(jì)算機(jī)科學(xué)博士后研究。
第 1 章奇境的入口——從VBE 走進(jìn)VBA 編程世界...................................................1
1.1 在哪里寫(xiě)代碼——VBE 與模塊...............................................................................................2
1.1.1 找到VBA 編輯器........................................................................................................2
1.1.2 在正確的位置編寫(xiě)代碼...............................................................................................4
1.2 見(jiàn)微知著——從一個(gè)簡(jiǎn)單例子觀察VBA 程序的結(jié)構(gòu)..........................................................7
1.2.1 Sub / End Sub——程序的起始與結(jié)束.........................................................................8
1.2.2 詞匯與語(yǔ)句——程序語(yǔ)言的基本要素........................................................................9
1.3 Cells 與運(yùn)算符——用VBA 控制Excel 單元格...................................................................10
1.3.1 Cells——代碼與表格之間的第一個(gè)橋梁.................................................................. 11
1.3.2 賦值操作——等號(hào)的主要用途..................................................................................12
1.3.3 加、減、乘、除——基本的算術(shù)運(yùn)算符..................................................................12
1.4 VBA 程序的運(yùn)行與保存——按鈕、XLSM 文件及宏安全性.............................................13
1.4.1 宏與宏安全性.............................................................................................................14
1.4.2 運(yùn)行VBA 程序的常用方法.......................................................................................14
1.4.3 XLSM 文件——VBA 程序的藏身之所....................................................................17
本章小結(jié).........................................................................................................................................18
第2 章程序的記憶——變量與常量..........................................................................19
2.1 變量的作用與含義.................................................................................................................19
2.1.1 為什么需要使用變量.................................................................................................19
2.1.2 什么是變量.................................................................................................................21
2.1.3 再問(wèn)一次:什么是變量.............................................................................................22
2.1.4 前后對(duì)比——使用變量的好處..................................................................................23
2.2 沒(méi)有規(guī)矩不成方圓——有關(guān)變量的最佳實(shí)踐......................................................................24
2.2.1 變量的命名.................................................................................................................24
2.2.2 強(qiáng)制聲明.....................................................................................................................28
2.2.3 把重復(fù)數(shù)據(jù)都抽取為變量.........................................................................................31
2.3 常量——那些重復(fù)卻不變的內(nèi)容..........................................................................................32
本章小結(jié).........................................................................................................................................35
第3 章力量的源泉——循環(huán)結(jié)構(gòu)..............................................................................36
3.1 循環(huán)結(jié)構(gòu)概述.........................................................................................................................37
3.2 For…Next 循環(huán)語(yǔ)句...............................................................................................................38
3.2.1 For…Next 循環(huán)語(yǔ)句的基本語(yǔ)法...............................................................................38
3.2.2 For…Next 循環(huán)的典型用法.......................................................................................40
3.2.3 Step 子句.....................................................................................................................42
3.2.4 For…Next 循環(huán)的“初學(xué)者陷阱”...........................................................................45
3.3 用循環(huán)實(shí)現(xiàn)匯總——累加器與計(jì)數(shù)器..................................................................................48
3.4 縮進(jìn)與注釋——提高代碼的可讀性......................................................................................50
3.4.1 代碼縮進(jìn).....................................................................................................................50
3.4.2 代碼注釋.....................................................................................................................52
本章小結(jié).........................................................................................................................................53
第4 章智能的產(chǎn)生——判斷結(jié)構(gòu)..............................................................................54
4.1 If 語(yǔ)句與關(guān)系運(yùn)算.................................................................................................................55
4.1.1 用If 語(yǔ)句實(shí)現(xiàn)判斷結(jié)構(gòu)............................................................................................55
4.1.2 用關(guān)系運(yùn)算比較大小.................................................................................................57
4.1.3 用Else 和ElseIf 實(shí)現(xiàn)多分支判斷.............................................................................57
4.2 嵌套結(jié)構(gòu)——多層If 語(yǔ)句的使用.........................................................................................67
4.3 邏輯表達(dá)式——怎樣表示“與”或“非”..........................................................................71
4.3.1 邏輯表達(dá)式.................................................................................................................71
4.3.2 常見(jiàn)邏輯運(yùn)算符的使用方法.....................................................................................71
4.4 Select…Case 結(jié)構(gòu)..................................................................................................................79
4.4.1 Select…Case 結(jié)構(gòu)的基本用法...................................................................................79
4.4.2 在Case 語(yǔ)句中表示復(fù)雜條件...................................................................................80
本章小結(jié).........................................................................................................................................81
第5 章文字的表述——字符串基礎(chǔ)..........................................................................83
5.1 字符串的基本概念與格式.....................................................................................................84
5.1.1 什么是字符串.............................................................................................................84
5.1.2 區(qū)分字符串與變量.....................................................................................................86
5.1.3 在字符串中表示特殊符號(hào).........................................................................................86
5.2 字符串的理解要點(diǎn).................................................................................................................89
5.2.1 空字符串.....................................................................................................................89
5.2.2 非打印字符(空白字符) .........................................................................................90
5.2.3 區(qū)分大小寫(xiě)字符.........................................................................................................91
5.2.4 區(qū)分?jǐn)?shù)字與字符串.....................................................................................................91
5.3 字符串連接操作.....................................................................................................................92
5.3.1 字符串連接符——“+”與“&” ............................................................................92
5.3.2 靈活構(gòu)造字符串.........................................................................................................93
本章小結(jié).........................................................................................................................................96
第6 章診斷的技巧——程序調(diào)試..............................................................................97
6.1 程序錯(cuò)誤的類(lèi)型與排查.........................................................................................................97
6.1.1 編譯錯(cuò)誤.....................................................................................................................98
6.1.2 運(yùn)行時(shí)錯(cuò)誤.................................................................................................................99
6.1.3 邏輯錯(cuò)誤...................................................................................................................100
6.2 使用斷點(diǎn)與監(jiān)視...................................................................................................................101
6.2.1 “望聞”之術(shù)——設(shè)置斷點(diǎn)......................................................................................101
6.2.2 “問(wèn)”的技巧——添加監(jiān)視......................................................................................102
6.2.3 “切”脈秘籍——讓程序單步執(zhí)行..........................................................................104
6.3 代碼“無(wú)間道”——Debug.Print 與立即窗口....................................................................109
本章小結(jié)....................................................................................................................................... 110
第7 章維度的拓展——再談循環(huán)結(jié)構(gòu)..................................................................... 111
7.1 多重循環(huán)............................................................................................................................... 112
7.1.1 雙重循環(huán)的概念....................................................................................................... 112
7.1.2 初學(xué)者常見(jiàn)錯(cuò)誤....................................................................................................... 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)結(jié)構(gòu)的初學(xué)者陷阱................................................................................123
7.2.3 Do While 循環(huán)的典型應(yīng)用.......................................................................................125
7.2.4 While 循環(huán)的各種形式............................................................................................129
7.3 Exit 語(yǔ)句與Goto 語(yǔ)句.........................................................................................................131
7.3.1 跳出當(dāng)前結(jié)構(gòu)——Exit 語(yǔ)句的使用........................................................................131
7.3.2 隨心所欲難免逾矩——Goto 語(yǔ)句及其利弊...........................................................133
7.3.3 異常處理——On Error Goto 語(yǔ)句...........................................................................134
本章小結(jié)...............................................................................................................................137
第8 章名字的魔力——面向?qū)ο笈c錄制宏..............................................................138
8.1 面向?qū)ο蟆绦騿T的世界觀............................................................................................139
8.1.1 面向過(guò)程與面向?qū)ο蠛?jiǎn)述.......................................................................................139
8.1.2 類(lèi)、對(duì)象、屬性、方法...........................................................................................141
8.2 從Range 看VBA 對(duì)象的使用方法.....................................................................................143
8.2.1 Range 對(duì)象概述........................................................................................................143
8.2.2 Range 對(duì)象的基本用法與技巧................................................................................144
8.2.3 設(shè)置單元格格式—— 字體、顏色及With 結(jié)構(gòu)....................................................150
8.2.4 智能提示——使用As 關(guān)鍵字聲明對(duì)象類(lèi)型.........................................................156
8.3 Excel 對(duì)象體系.....................................................................................................................157
8.3.1 了解所有對(duì)象——對(duì)象瀏覽器與MSDN ...............................................................157
8.3.2 最常用的Excel 對(duì)象................................................................................................159
8.4 打開(kāi)黑箱看代碼——錄制宏................................................................................................160
8.4.1 宏的錄制過(guò)程...........................................................................................................160
8.4.2 宏代碼的解讀與運(yùn)用...............................................................................................162
8.4.3 對(duì)錄制宏代碼的初步優(yōu)化.......................................................................................164
本章小結(jié)...............................................................................................................................165
第9 章能力的釋放——批量處理工作表與工作簿...................................................166
9.1 個(gè)體與集合——再談Excel 常用對(duì)象間的關(guān)系.................................................................167
9.2 工作表對(duì)象...........................................................................................................................168
9.2.1 為Range 對(duì)象指定所屬工作表...............................................................................168
9.2.2 技巧與陷阱——With 與Range................................................................................170
9.2.3 最佳實(shí)踐——按名引用工作表................................................................................172
9.2.4 遍歷所有工作表.......................................................................................................172
9.2.5 多個(gè)工作表匯總的常用技巧...................................................................................175
9.2.6 工作表的其他常用操作...........................................................................................180
9.3 工作簿對(duì)象...........................................................................................................................183
9.3.1 工作簿文件的打開(kāi)、保存與關(guān)閉...........................................................................183
9.3.2 常用技巧——工作簿的拆分與匯總........................................................................187
本章小結(jié).......................................................................................................................................191
第10 章結(jié)構(gòu)的藝術(shù)——過(guò)程、函數(shù)與字符串處理.................................................193
10.1 子過(guò)程與“結(jié)構(gòu)化程序設(shè)計(jì)” .........................................................................................194
10.1.1 子過(guò)程基本概念與調(diào)用方法.................................................................................194
10.1.2 變量的作用域.........................................................................................................198
10.1.3 參數(shù)的概念.............................................................................................................199
10.1.4 子過(guò)程與參數(shù)的更多細(xì)節(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 計(jì)算字符串長(zhǎng)度.....................................................................................................214
10.3.2 將字符串規(guī)范化.....................................................................................................215
10.3.3 替換文本.................................................................................................................217
10.3.4 子串操作.................................................................................................................218
10.3.5 字符串函數(shù)的應(yīng)用.................................................................................................222
本章小結(jié).......................................................................................................................................223
第11 章萬(wàn)物的源頭—Application 對(duì)象..................................................................225
11.1 隱藏的Application 對(duì)象....................................................................................................226
11.1.1 Cells 的真實(shí)來(lái)歷....................................................................................................226
11.1.2 與Cells 類(lèi)似的情況...............................................................................................227
11.2 通過(guò)WorksheetFunction 屬性調(diào)用公式............................................................................229
11.3 Application 的其他屬性與方法..........................................................................................232
11.3.1 常用屬性.................................................................................................................232
11.3.2 常用方法.................................................................................................................235
本章小結(jié).......................................................................................................................................236
第12 章細(xì)分的好處——VBA 數(shù)據(jù)類(lèi)型..................................................................238
12.1 VBA 數(shù)據(jù)類(lèi)型概述............................................................................................................239
12.1.1 為什么要?jiǎng)澐謹(jǐn)?shù)據(jù)類(lèi)型.........................................................................................239
12.1.2 變體類(lèi)型的功與過(guò)...............................................................................................240
12.1.3 VBA 中的數(shù)據(jù)類(lèi)型概覽........................................................................................243
12.2 數(shù)字類(lèi)型.............................................................................................................................244
12.2.1 常用類(lèi)型:Integer、Long 和Double(符號(hào)問(wèn)題) ............................................244
12.2.2 其他類(lèi)型:Byte、Single、Currency 和Decimal .................................................246
12.2.3 簡(jiǎn)寫(xiě)符號(hào).................................................................................................................248
12.2.4 初學(xué)者陷阱:常數(shù)有時(shí)也要聲明類(lèi)型.................................................................248
12.2.5 自動(dòng)類(lèi)型轉(zhuǎn)換與強(qiáng)制類(lèi)型轉(zhuǎn)換.............................................................................250
12.3 字符串類(lèi)型.........................................................................................................................253
12.3.1 字符的本質(zhì).............................................................................................................253
12.3.2 像數(shù)字一樣處理字符串.........................................................................................255
12.4 日期類(lèi)型.............................................................................................................................258
12.4.1 日期和時(shí)間的一般表示.........................................................................................259
12.4.2 常用日期函數(shù).........................................................................................................259
12.4.3 日期類(lèi)型的本質(zhì).....................................................................................................265
12.5 邏輯類(lèi)型.............................................................................................................................266
12.5.1 邏輯值與邏輯運(yùn)算.................................................................................................266
12.5.2 邏輯類(lèi)型的應(yīng)用.....................................................................................................269
12.6 對(duì)象類(lèi)型.............................................................................................................................272
12.7 數(shù)據(jù)類(lèi)型的檢測(cè).................................................................................................................273
12.8 “無(wú)”的各種表示方法——Nothing、Null 與Empty .......................................................275
本章小結(jié).......................................................................................................................................275
第13 章集體的名義——VBA 中的數(shù)組..................................................................277
13.1 數(shù)組的基本概念.................................................................................................................278
13.1.1 什么是數(shù)組.............................................................................................................278
13.1.2 數(shù)組聲明中的細(xì)節(jié)問(wèn)題.........................................................................................279
13.1.3 數(shù)組的用途與技巧.................................................................................................281
13.2 動(dòng)態(tài)數(shù)組.............................................................................................................................285
13.2.1 動(dòng)態(tài)數(shù)組與ReDim 語(yǔ)句........................................................................................285
13.2.2 使用Split 拆分字符串............................................................................................287
13.3 多維數(shù)組與表格讀寫(xiě).........................................................................................................289
13.3.1 什么是二維數(shù)組.....................................................................................................289
13.3.2 二維數(shù)組與Range 對(duì)象(讀寫(xiě)和處理效率、下標(biāo)起點(diǎn)、單行單列讀寫(xiě))......291
13.3.3 多維數(shù)組的概念.....................................................................................................293
本章小結(jié).......................................................................................................................................294
第14 章信息的整合——文件與文件夾操作............................................................295
14.1 讀寫(xiě)文本文件.....................................................................................................................296
14.1.1 什么是文本文件.....................................................................................................296
14.1.2 文本文件的打開(kāi)與讀取.........................................................................................296
14.1.3 將數(shù)據(jù)寫(xiě)入文本文件.............................................................................................300
14.2 打開(kāi)文件夾中的所有文件.................................................................................................302
14.2.1 Dir 函數(shù)的基本用法...............................................................................................302
14.2.2 Dir 函數(shù)的更多技巧...............................................................................................303
14.3 其他文件操作簡(jiǎn)介.............................................................................................................305
本章小結(jié).......................................................................................................................................306
第15 章選擇的自由——自定義參數(shù)及其他函數(shù)技巧.............................................307
15.1 可選參數(shù).............................................................................................................................308
15.1.1 Optional 與默認(rèn)值..................................................................................................308
15.1.2 可選參數(shù)的省略與按名傳遞.................................................................................309
15.1.3 判斷可選參數(shù)是否被使用..................................................................................... 311
15.2 引用傳遞與值傳遞.............................................................................................................312
15.3 隨機(jī)數(shù)函數(shù)的使用.............................................................................................................314
15.3.1 Rnd 函數(shù)的基本用法.............................................................................................314
15.3.2 深入了解:“偽”隨機(jī)數(shù)與“種子” ...................................................................316
本章小結(jié).......................................................................................................................................318
第16 章區(qū)域的管理——深入了解Range 對(duì)象.......................................................320
16.1 遍歷Range 內(nèi)部單元格.....................................................................................................321
16.1.1 Cells 屬性................................................................................................................321
16.1.2 自定義公式.............................................................................................................322
16.1.3 Rows 與Columns 屬性...........................................................................................323
16.2 獲取Range 對(duì)象的描述信息.............................................................................................324
16.2.1 位置信息.................................................................................................................324
16.2.2 公式信息.................................................................................................................325
16.2.3 合并單元格信息.....................................................................................................326
16.3 重新定位Range 對(duì)象.........................................................................................................329
16.3.1 Offset、Resize 與CurrentRegion 屬性..................................................................329
16.3.2 Worksheet 對(duì)象的Cells 與UsedRange 屬性.........................................................333
16.3.3 Application 對(duì)象的Union 與Intersection 方法.....................................................334
16.4 Find 與Sort 方法簡(jiǎn)介........................................................................................................334
16.4.1 Range.Find 方法.....................................................................................................334
16.4.2 Range.Sort 方法......................................................................................................336
本章小結(jié).......................................................................................................................................337
第17 章“神經(jīng)”的連通——編寫(xiě)事件處理程序.....................................................339
17.1 事件編程基本概念與過(guò)程.................................................................................................340
17.1.1 事件與事件響應(yīng).....................................................................................................340
17.1.2 事件編程的基本步驟.............................................................................................340
17.2 Excel 常用事件...................................................................................................................343
17.2.1 工作表事件.............................................................................................................343
17.2.2 工作簿常用事件.....................................................................................................347
17.3 事件級(jí)聯(lián).............................................................................................................................348
17.4 訪問(wèn)修飾符與靜態(tài)變量.....................................................................................................350
17.4.1 訪問(wèn)修飾符.............................................................................................................350
17.4.2 靜態(tài)變量.................................................................................................................352
17.4.3 靜態(tài)變量在事件處理中的應(yīng)用.............................................................................353
本章小結(jié).......................................................................................................................................355
第18 章界面的革新——設(shè)計(jì)用戶窗體...................................................................356
18.1 窗體程序開(kāi)發(fā)過(guò)程.............................................................................................................357
18.1.1 窗體與控件.............................................................................................................357
18.1.2 窗體模塊與設(shè)計(jì)器.................................................................................................357
18.1.3 指定屬性和外觀.....................................................................................................359
18.1.4 為窗體事件編寫(xiě)代碼.............................................................................................361
18.1.5 窗體的顯示與退出.................................................................................................363
18.2 窗體與常用控件的屬性、事件和方法.............................................................................365
18.2.1 窗體對(duì)象.................................................................................................................365
18.2.2 標(biāo)簽與文本框.........................................................................................................367
18.2.3 列表框與組合框.....................................................................................................369
18.2.4 單選按鈕、復(fù)選框及框架.....................................................................................372
18.2.5 窗體控件綜合案例——將數(shù)據(jù)錄入工作表..........................................................375
18.3 其他常用控件及附加控件.................................................................................................378
18.3.1 其他常用控件簡(jiǎn)介.................................................................................................378
18.3.2 附加控件的使用.....................................................................................................379
18.4 關(guān)于窗體與控件的其他要點(diǎn).............................................................................................383
18.4.1 多窗體協(xié)同.............................................................................................................383
18.4.2 多個(gè)控件的對(duì)齊.....................................................................................................383
18.4.3 工作表中的ActiveX 控件......................................................................................384
本章小結(jié).......................................................................................................................................385
第19 章工具的升級(jí)——集合、字典及正則表達(dá)式.................................................386
19.1 集合對(duì)象.............................................................................................................................387
19.2 字典對(duì)象.............................................................................................................................388
19.2.1 使用CreateObject 創(chuàng)建外部對(duì)象..........................................................................388
19.2.2 字典的概念與應(yīng)用.................................................................................................390
19.2.3 字典的其他常用屬性與方法.................................................................................393
19.3 正則表達(dá)式入門(mén).................................................................................................................394
19.3.1 什么是正則表達(dá)式.................................................................................................395
19.3.2 正則表達(dá)式的基本語(yǔ)法.........................................................................................396
19.3.3 在VBA 中使用正則表達(dá)式...................................................................................410
本章小結(jié).......................................................................................................................................415
第20 章天地的無(wú)窮——那些未及細(xì)說(shuō)的主題........................................................416
20.1 類(lèi)模塊與自定義類(lèi).............................................................................................................417
20.2 開(kāi)發(fā)小型管理信息系統(tǒng).....................................................................................................418
20.3 深入操作Office 軟件與Windows 系統(tǒng)............................................................................421
20.4 算法的價(jià)值.........................................................................................................................421
結(jié)語(yǔ) VBA 的未來(lái)....................................................................................................423
你還可能感興趣
我要評(píng)論
|