本書以案例講解的形式,由淺入深地介紹了VBA在Excel中的應(yīng)用。本書的內(nèi)容可分為兩個部分,前半部分介紹了VBA的基礎(chǔ)應(yīng)用,主要講解如何簡化復(fù)雜的工作,以及減少Excel中不必要的重復(fù)性操作;后半部分介紹了如何使用VBA編寫各種工具、函數(shù)和小型系統(tǒng),解決日常工作中遇到的包括但不局限于Excel的各種問題。
本書圖文并茂,理論與案例相結(jié)合,力求將本書涉及的VBA相關(guān)知識點(diǎn)通過實(shí)際案例進(jìn)行講解。本書案例幾乎都源于實(shí)踐,并配有全套資料文件和解決代碼,頗具參考價(jià)值。
本書面向VBA零基礎(chǔ)人員,日常工作中需要接觸大量數(shù)據(jù)和Excel表格的人員,幫助他人解決Excel難題的運(yùn)維人員,以及希望通過VBA進(jìn)行自主開發(fā)的IT從業(yè)人員。本書亦可作為計(jì)算機(jī)培訓(xùn)教材。
1.面向VBA零基礎(chǔ)學(xué)員,以案例講解的形式,圖文并茂、由淺入深的介紹了VBA在Excel中的應(yīng)用;
2.案例幾乎都源于實(shí)踐,并配有全套資料文件和解決代碼,具有參考價(jià)值;
3.附贈本書源代碼、彩圖文件,掃碼即可獲取。
韓立剛
華為HCIA認(rèn)證教材作者,教育部指定高等學(xué)校軟件工程專業(yè)計(jì)算機(jī)網(wǎng)絡(luò)教材作者,微軟最有價(jià)值專家(MVP)。具有20年微軟、思科、華為網(wǎng)絡(luò)工程師教學(xué)經(jīng)驗(yàn),現(xiàn)任國內(nèi)最大的IT在線教育網(wǎng)站51CTO學(xué)院金牌講師,聽課人數(shù)達(dá)1600萬次。
2021年開始面向全國招收正式學(xué)生。在IT教育領(lǐng)域倡導(dǎo)“視頻教學(xué)+QQ答疑”和“終身師徒關(guān)系”的教學(xué)模式。
徐侃
畢業(yè)于湖南大學(xué)軟件學(xué)院,網(wǎng)絡(luò)工程師,擁有十余年IT運(yùn)維;精通VBA、Python開發(fā)。
張立明
現(xiàn)就職于中國節(jié)能,信息系統(tǒng)項(xiàng)目管理師,系統(tǒng)集成項(xiàng)目管理師,網(wǎng)絡(luò)工程師,精通網(wǎng)絡(luò)架構(gòu)與數(shù)據(jù)庫技術(shù)。
蔣超
畢業(yè)于華中科技大學(xué),計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),校信息中心主任,精通微軟Office辦公軟件。
第 1章 認(rèn)識VBA
1.1 VBA概述
1.2 如何在Excel中打開VBA
1.3 案例01:新增100張工作表
1.3.1 案例解析
1.3.2 案例代碼
1.3.3 案例小結(jié)
第 2章 利用錄制宏與For循環(huán)處理重復(fù)操作
2.1 案例02:對不同工作表執(zhí)行相同操作
2.1.1 案例解析
2.1.2 案例代碼
2.1.3 案例小結(jié)
2.2 案例03:標(biāo)記2020年所有周日
2.2.1 案例解析
2.2.2 案例代碼
2.2.3 案例小結(jié)
2.3 案例04:生成工資條
2.3.1 案例解析
2.3.2 案例代碼
2.3.3 案例小結(jié)
2.4 案例05:恢復(fù)工資表
2.4.1 案例解析
2.4.2 案例代碼
2.4.3 案例小結(jié)
第3章 使用If函數(shù)進(jìn)行邏輯判斷
3.1 案例06:不使用相對引用標(biāo)記2020年所有周日
3.1.1 案例解析
3.1.2 案例代碼
3.1.3 案例小結(jié)
3.2 案例07:認(rèn)識If函數(shù)
3.2.1 案例解析
3.2.2 案例代碼
3.2.3 案例小結(jié)
3.3 案例08:不使用相對引用生成工資條
3.3.1 案例解析
3.3.2 案例代碼
3.3.3 案例小結(jié)
3.4 案例09:計(jì)算個人所得稅
3.4.1 案例解析
3.4.2 案例代碼
3.4.3 案例小結(jié)
第4章 使用Sheets對象進(jìn)行跨表操作
4.1 案例10:新增及刪除工作表
4.1.1 案例解析
4.1.2 案例代碼
4.1.3 案例小結(jié)
4.2 案例11:新建工作表并修改標(biāo)簽名
4.2.1 案例解析
4.2.2 案例代碼
4.2.3 案例小結(jié)
4.3 案例12:取表名
4.3.1 案例解析
4.3.2 案例代碼
4.3.3 案例小結(jié)
4.4 案例13:生成日報(bào)表
4.4.1 案例解析
4.4.2 案例代碼
4.4.3 案例小結(jié)
4.5 案例14:生成匯總表
4.5.1 案例解析
4.5.2 案例代碼
4.5.3 案例小結(jié)
4.6 案例15:多表處理
4.6.1 案例解析
4.6.2 案例代碼
4.6.3 案例小結(jié)
第5章 使用Workbooks對象進(jìn)行跨文件操作
5.1 案例16:使用For Each循環(huán)為單元格賦值
5.1.1 案例解析
5.1.2 案例代碼
5.1.3 案例小結(jié)
5.2 案例17:使用For Each循環(huán)按要求刪除工作表
5.2.1 案例解析
5.2.2 案例代碼
5.2.3 案例小結(jié)
5.3 案例18:打開指定工作簿并修改單元格
5.3.1 案例解析
5.3.2 案例代碼
5.3.3 案例小結(jié)
5.4 案例19:新建工作簿并進(jìn)行“另存為”操作
5.4.1 案例解析
5.4.2 案例代碼
5.4.3 案例小結(jié)
5.5 案例20:表格拆分為多個文件
5.5.1 案例解析
5.5.2 案例代碼
5.5.3 案例小結(jié)
第6章 使用Range對象拆分?jǐn)?shù)據(jù)(1)
6.1 案例21:以單元格的值選中工作表
6.1.1 案例解析
6.1.2 案例代碼
6.1.3 案例小結(jié)
6.2 案例22:Range對象的End屬性和Offset屬性
6.2.1 案例解析
6.2.2 案例代碼
6.2.3 案例小結(jié)
6.3 案例23:Range對象的Resize屬性、EntireRow屬性和Copy方法
6.3.1 案例解析
6.3.2 案例代碼
6.3.3 案例小結(jié)
6.4 案例24:Range對象的Merge方法
6.4.1 案例解析
6.4.2 案例代碼
6.4.3 案例小結(jié)
6.5 案例25:數(shù)據(jù)拆分到多表
6.5.1 案例解析
6.5.2 案例代碼
6.5.3 案例小結(jié)
第7章 使用Range對象拆分?jǐn)?shù)據(jù)(2)
7.1 案例26:利用篩選將數(shù)據(jù)拆分到多表
7.1.1 案例解析
7.1.2 案例代碼
7.1.3 案例小結(jié)
7.2 案例27:新建工作表并避免重名
7.2.1 案例解析
7.2.2 案例代碼
7.2.3 案例小結(jié)
7.3 案例28:根據(jù)部門拆分工作表
7.3.1 案例解析
7.3.2 案例代碼
7.3.3 案例小結(jié)
7.4 案例29:按用戶要求拆分工作表
7.4.1 案例解析
7.4.2 案例代碼
7.4.3 案例小結(jié)
7.5 案例30:合并工作表
7.5.1 案例解析
7.5.2 案例代碼
7.5.3 案例小結(jié)
第8章 利用事件使Excel更加智能
8.1 案例31:設(shè)置單元格字號
8.1.1 案例解析
8.1.2 案例代碼
8.1.3 案例小結(jié)
8.2 案例32:自動修改所選單元格所在的整行的填充色
8.2.1 案例解析
8.2.2 案例代碼
8.2.3 案例小結(jié)
8.3 案例33:自動篩選
8.3.1 案例解析
8.3.2 案例代碼
8.3.3 案例小結(jié)
8.4 案例34:自動刷新透視表
8.4.1 案例解析
8.4.2 案例代碼
8.4.3 案例小結(jié)
8.5 案例35:重要數(shù)據(jù)自動備份
8.5.1 案例解析
8.5.2 案例代碼
8.5.3 案例小結(jié)
8.6 案例36:制作密碼驗(yàn)證
8.6.1 案例解析
8.6.2 案例代碼
8.6.3 案例小結(jié)
第9章 在VBA中使用函數(shù)
9.1 案例37:使用工作表函數(shù)進(jìn)行查詢和統(tǒng)計(jì)
9.1.1 案例解析
9.1.2 案例代碼
9.1.3 案例小結(jié)
9.2 案例38:按用戶要求拆分工作表(最后的完善)
9.2.1 案例解析
9.2.2 案例代碼
9.2.3 案例小結(jié)
9.3 案例39:練習(xí)使用InStr函數(shù)和Split函數(shù)
9.3.1 案例解析
9.3.2 案例代碼
9.3.3 案例小結(jié)
9.4 案例40:提取身份證號中的生日
9.4.1 案例解析
9.4.2 案例代碼
9.4.3 案例小結(jié)
第 10章 在Excel中添加自定義函數(shù)和按鈕
10.1 案例41:自定義美元換算函數(shù)
10.1.1 案例解析
10.1.2 案例代碼
10.1.3 案例小結(jié)
10.2 案例42:創(chuàng)建自定義函數(shù),在工作表中實(shí)現(xiàn)Split函數(shù)的功能
10.2.1 案例解析
10.2.2 案例代碼
10.2.3 案例小結(jié)
10.3 案例43:創(chuàng)建帶參數(shù)的過程
10.3.1 案例解析
10.3.2 案例代碼
10.3.3 案例小結(jié)
10.4 案例44:在Excel中加載自定義函數(shù)
10.4.1 案例解析
10.4.2 案例代碼
10.4.3 案例小結(jié)
10.5 案例45:在Excel中添加按鈕實(shí)現(xiàn)一鍵拆分工作簿
10.5.1 案例解析
10.5.2 案例代碼
10.5.3 案例小結(jié)
10.6 案例46:在Excel中添加按鈕實(shí)現(xiàn)一鍵拆分工作表
10.6.1 案例解析
10.6.2 案例代碼
10.6.3 案例小結(jié)
第 11章 使用Dir函數(shù)進(jìn)行多文件合并
11.1 案例47:將對象賦值給變量
11.1.1 案例解析
11.1.2 案例代碼
11.1.3 案例小結(jié)
11.2 案例48:學(xué)習(xí)使用Find函數(shù)
11.2.1 案例解析
11.2.2 案例代碼
11.2.3 案例小結(jié)
11.3 案例49:使用Dir函數(shù)檢驗(yàn)文件是否存在
11.3.1 案例解析
11.3.2 案例代碼
11.3.3 案例小結(jié)
11.4 案例50:使用Dir函數(shù)提取文件名
11.4.1 案例解析
11.4.2 案例代碼
11.4.3 案例小結(jié)
11.5 案例51:多文件合并1(單表合并)
11.5.1 案例解析
11.5.2 案例代碼
11.5.3 案例小結(jié)
11.6 案例52:多文件合并2(多表合并)
11.6.1 案例解析
11.6.2 案例代碼
11.6.3 案例小結(jié)
11.7 案例53:多文件合并單表
11.7.1 案例解析
11.7.2 案例代碼
11.7.3 案例小結(jié)
第 12章 使用VBA數(shù)組提高代碼執(zhí)行效率
12.1 案例54:認(rèn)識數(shù)組
12.1.1 案例解析
12.1.2 案例代碼
12.1.3 案例小結(jié)
12.2 案例55:利用數(shù)組大幅提升VBA代碼執(zhí)行效率
12.2.1 案例解析
12.2.2 案例代碼
12.2.3 案例小結(jié)
12.3 案例56:查找銷量冠軍
12.3.1 案例解析
12.3.2 案例代碼
12.3.3 案例小結(jié)
12.4 案例57:利用“暴力”破解解決組合問題
12.4.1 案例解析
12.4.2 案例代碼
12.4.3 案例小結(jié)
第 13章 在Excel中添加ActiveX控件
13.1 案例58:學(xué)習(xí)使用命令按鈕(CommandButton)
13.1.1 案例解析
13.1.2 案例代碼
13.1.3 案例小結(jié)
13.2 案例59:學(xué)習(xí)使用標(biāo)簽(Label)控件
13.2.1 案例解析
13.2.2 案例代碼
13.2.3 案例小結(jié)
13.3 案例60:學(xué)習(xí)使用選項(xiàng)按鈕(OptionButton)
13.3.1 案例解析
13.3.2 案例代碼
13.3.3 案例小結(jié)
13.4 案例61:學(xué)習(xí)使用數(shù)值調(diào)節(jié)按鈕(SpinButton)
13.4.1 案例解析
13.4.2 案例代碼
13.4.3 案例小結(jié)
13.5 案例62:隨堂測試系統(tǒng)
13.5.1 案例解析
13.5.2 案例代碼
13.5.3 案例小結(jié)
第 14章 利用窗體與控件搭建會員信息查詢系統(tǒng)
14.1 案例63:將隨堂測試系統(tǒng)移植到窗體
14.1.1 案例解析
14.1.2 案例代碼
14.1.3 案例小結(jié)
14.2 案例64:學(xué)習(xí)使用復(fù)選框(CheckBox)
14.2.1 案例解析
14.2.2 案例代碼
14.2.3 案例小結(jié)
14.3 案例65:學(xué)習(xí)使用文本框(TextBox)
14.3.1 案例解析
14.3.2 案例代碼
14.3.3 案例小結(jié)
14.4 案例66:學(xué)習(xí)使用組合框(ComboBox)和列表框 (ListBox)
14.4.1 案例解析
14.4.2 案例代碼
14.4.3 案例小結(jié)
14.5 案例67:會員資料查詢
14.5.1 案例解析
14.5.2 案例代碼
14.5.3 案例小結(jié)
第 15章 如何在VBA中與用戶進(jìn)行信息交互
15.1 案例68:深入學(xué)習(xí)MsgBox函數(shù)
15.1.1 案例解析
15.1.2 案例代碼
15.1.3 案例小結(jié)
15.2 案例69:深入學(xué)習(xí)InputBox函數(shù)
15.2.1 案例解析
15.2.2 案例代碼
15.2.3 案例小結(jié)
15.3 案例70:將用戶選中的多文件進(jìn)行合并
15.3.1 案例解析
15.3.2 案例代碼
15.3.3 案例小結(jié)
15.4 案例71:學(xué)習(xí)Application對象的Dialogs屬性
15.4.1 案例解析
15.4.2 案例代碼
15.4.3 案例小結(jié)
第 16章 使用ADO對象連接并操作外部數(shù)據(jù)
16.1 案例72:使用ADO對象讀取外部數(shù)據(jù)
16.1.1 案例解析
16.1.2 案例代碼
16.1.3 案例小結(jié)
16.2 案例73:使用ADO對象向外部數(shù)據(jù)插入記錄
16.2.1 案例解析
16.2.2 案例代碼
16.2.3 案例小結(jié)
16.3 案例74:使用ADO對象在外部數(shù)據(jù)中修改記錄
16.3.1 案例解析
16.3.2 案例代碼
16.3.3 案例小結(jié)
16.4 案例75:使用ADO對象在外部數(shù)據(jù)中刪除記錄
16.4.1 案例解析
16.4.2 案例代碼
16.4.3 案例小結(jié)
16.5 案例76:使用ADO對象對外部數(shù)據(jù)進(jìn)行左連接
16.5.1 案例解析
16.5.2 案例代碼
16.5.3 案例小結(jié)
16.6 案例77:使用ADO對象進(jìn)行多表連接查詢
16.6.1 案例解析
16.6.2 案例代碼
16.6.3 案例小結(jié)
16.7 案例78:使用ADO對象訪問Access數(shù)據(jù)庫文件
16.7.1 案例解析
16.7.2 案例代碼
16.7.3 案例小結(jié)
第 17章 觸類旁通:掌握VBA的各種自學(xué)方法
17.1 案例79:自學(xué)VBA的Shapes對象
17.1.1 案例解析
17.1.2 案例代碼
17.1.3 案例小結(jié)
17.2 案例80:插入并調(diào)整圖片(利用官方資料)
17.2.1 案例解析
17.2.2 案例代碼
17.2.3 案例小結(jié)
17.3 案例81:插入圖表對象(利用錄制宏)
17.3.1 案例解析
17.3.2 案例代碼
17.3.3 案例小結(jié)
17.4 案例82:操作表單控件(利用編程推測)
17.4.1 案例解析
17.4.2 案例代碼
17.4.3 案例小結(jié)
17.5 案例83:學(xué)習(xí)使用Like語句
17.5.1 案例解析
17.5.2 案例代碼
17.5.3 案例小結(jié)
第 18章 觸“類”旁通:如何創(chuàng)建類模塊
18.1 案例84:VBA中的私有和公有
18.1.1 案例解析
18.1.2 案例代碼
18.1.3 案例小結(jié)
18.2 案例85:使用類模塊
18.2.1 案例解析
18.2.2 案例代碼
18.2.3 案例小結(jié)
18.3 案例86:學(xué)習(xí)使用Do-While循環(huán)
18.3.1 案例解析
18.3.2 案例代碼
18.3.3 案例小結(jié)
第 19章 利用VBA字典搭建用戶界面
19.1 案例87:使用VBA字典去除重復(fù)項(xiàng)
19.1.1 案例解析
19.1.2 案例代碼
19.1.3 案例小結(jié)
19.2 案例88:利用字典創(chuàng)建三級菜單列表
19.2.1 案例分析
19.2.2 案例代碼
19.2.3 案例小結(jié)
19.3 案例89:完成“添加”按鈕和“購物清單”列表框
19.3.1 案例解析
19.3.2 案例代碼
19.3.3 案例小結(jié)
第 20章 使用Excel+Access完成C/S系統(tǒng)開發(fā)
20.1 案例90:“刪除”按鈕和“總價(jià)”標(biāo)簽
20.1.1 案例解析
20.1.2 案例代碼
20.1.3 案例小結(jié)
20.2 案例91:“結(jié)算”按鈕和銷售記錄
20.2.1 案例解析
20.2.2 案例代碼
20.2.3 案例小結(jié)
20.3 案例92:為商品收銀系統(tǒng)添加Access數(shù)據(jù)庫
20.3.1 案例解析
20.3.2 案例代碼
20.3.3 案例小結(jié)