本書結合大量實例,由淺入深、循序漸進地介紹了Excel VBA開發技術。本書從初學者的角度出發,從最簡單的VBA語法,一直講解到VBA的數據庫編程,圖文并茂,通俗易懂,力圖以最直觀的方式使讀者學好各個知識點。本書特意提供了典型習題及教學PPT,以方便教學。另外,本書還配了大量教學視頻,幫助讀者更好地學習。這些視頻和書中的實例源代碼一起收錄于本書的配書光盤中。
全書共21章,分3篇。第1篇為Excel VBA編程基礎,主要介紹了Excel VBA的發展歷史、Excel 2010中的宏和開發VBA的環境、VBA變量與語句、VBA程序控制結構、VBA數組和過程等。第2篇為Excel VBA進階開發,主要介紹了Excel VBA的對象模型、Application對象、工作簿對象、工作表對象和單元格對象、工作表界面、用戶窗體、自定義Excel 2010功能區、圖表對象、類模塊和數據庫編程等。第3篇為項目開發案例實戰,主要介紹了教務管理系統和檔案管理系統的實現方法。
本書適合沒有編程基礎的Excel VBA入門新手閱讀,也可作為大中專院校及職業院校相關課程的教材。對于有一定基礎的讀者,可以通過本書進一步理解VBA的各個重要知識點。另外,本書也可供編程愛好者作為實際工作中的參考書籍。
隨著Office辦公軟件的流行,Excel獲得了廣泛應用,Excel在提供基本功能的同時,也提供了擴展Excel功能的工具,Excel VBA是擴展Office辦公軟件功能的常用工具。
作為Excel VBA開發人員的必修課,筆者結合自己多年的開發信息系統經驗和心得體會,精心編寫了本書。本書以Excel 2010為載體,配合大量多媒體教學視頻,通過系統的講解和詳細的示例,相信使初學者對Excel VBA開發有一個完整的認識。希望能在本書的引導下使讀者掌握Excel VBA的開發方法。本書結合Excel VBA常用實例,深入淺出地講解了Excel VBA開發環境、VBA語句、Excel對象模型和用戶窗體的設計方法,并以大量實例貫穿于全書的講解之中,最后還詳細介紹了教務管理系統和檔案管理系統的開發實例,使讀者在實戰中更深入地了解Excel VBA的開發。學習完本書后,讀者可以具備獨立開發Excel VBA的程序。
本書有何特色
1.配多媒體教學視頻
本書提供配套的多媒體語音教學視頻。在視頻中對概念、示例和案例進行分析和詳細地講解,還加入了實際操作過程,旨在提高學習效率。
2.門檻低,容易入門
本書選取了Excel VBA開發的常見技術進行講解,對讀者的知識層次要求低,只要讀者熟悉Windows操作系統即可。
3.內容全面、系統
本書詳細介紹了Excel VBA開發所需要的知識,包括VBA語言基礎、Excel對象模型、用戶窗體、數據庫編程和自定義Excel界面等。
4.講解由淺入深,循序漸進
本書的編排采用循序漸進的方式,內容梯度從易到難,講解由淺入深,適合各個層次的讀者閱讀,并均有所獲。
5.寫作細致,處處為讀者著想
本書概念講解通俗易懂、代碼注釋詳盡、程序運行步驟清晰,掃清了讀者的學習障礙。
6.貫穿大量的開發實例和技巧
本書在講解知識點時貫穿了大量短小精悍的典型實例,并給出了大量的開發技巧,力求讓讀者獲得真正實用的知識。
7.案例清晰
本書詳細介紹了教務管理系統和檔案管理系統的制作方法,詳細介紹了Excel 2010中開發信息管理系統的一般方法。
8.提供教學PPT,方便老師教學
本書適合大中專院校和職業學校作為職業技能的教學用書,所以專門制作了教學PPT,以方便各院校的老師教學時使用。
本書內容安排
第1篇 Excel VBA編程基礎(第1~8章)
本篇主要內容包括:Excel VBA的發展歷史、功能、用途,Excel VBA中的宏、開發Excel VBA的環境、VBA變量和語句、VBA程序控制結構、VBA數組及VBA過程和 函數。
通過本篇內容的學習,讀者可以掌握Excel VBA的發展歷史和開發環境及Excel VBA編程的基礎知識。
第2篇 Excel VBA編程進階(第9~19章)
本篇主要內容包括:Excel對象模型、Application對象、工作簿對象、工作表對象、單元格對象、Excel圖表對象、Excel用戶窗體設計、自定義Excel功能區、操作Excel圖表對象、使用類模塊和VBA數據庫編程。
通過本篇的學習,讀者可以掌握Excel VBA對象模型的使用方法、Excel VBA用戶窗體的設計方法和自定義Excel功能區的方法;另外還可以掌握Excel圖表對象和VBA類模塊的使用方法,以及使用Excel VBA進行數據庫編程的方法。
第3篇 Excel VBA對象模型篇(第20~21章)
本篇主要內容包括:教務管理系統和檔案管理的實現方法。通過本篇的學習,讀者可以掌握使用Excel VBA開發信息系統的方法。
本書光盤內容
* 本書配套教學視頻;
* 本書涉及的源代碼。
本書讀者對象
* Excel VBA入門人員;
* Excel VBA開發人員;
* Excel VBA愛好者;
* Office軟件培訓機構人員;
* 大中專院校的學生;
* 相關培訓班的學員。
本書閱讀建議
* 建議沒有編程基礎的讀者從前至后順次閱讀,盡量不要跳躍。
* 書中的實例和示例建議讀者都要親自上機動手實踐,學習效果更好。
* 課后習題都動手做一做,以檢查自己對本章內容的掌握程度,如果不能順利完成,建議回過頭來重新學習一下本章內容。
* 學習每章內容時,建議讀者先仔細閱讀書中的講解,然后再結合本章教學視頻,學習效果更佳。
本書作者
全書由魏汪洋主編并編寫了第1章,張明川編寫了第2~6章,吳慶濤編寫了第7章,鄭瑞娟編寫了第9章,徐翠霞編寫了第10~13章,趙海霞編寫了第14~16章,李冠峰編寫了第18章,楊春蕾編寫了第8、17、19、20、21章,王紅藝編寫了第22章。另外,陳世瓊、陳欣、陳智敏、董加強、范禮、郭秋滟、郝紅英、蔣春蕾、黎華、劉建準、劉霄、劉亞軍、劉仲義、柳剛、羅永峰、馬奎林、馬味、歐陽昉、蒲軍也參與了本書編寫。馬林參與了本書后期整理工作,全書由魏汪洋統編定稿。
閱讀本書的過程中,若有任何疑問,可以發郵件到bookservice2008@163.com,以獲得幫助。
魏汪洋
第1篇 Excel VBA編程基礎
第1章 VBA概述( 教學視頻:7分鐘)2
1.1 什么是VBA2
1.1.1 VBA的產生及發展歷史2
1.1.2 VBA的應用2
1.2 第1個VBA程序3
1.2.1 創建“Hello World”應用程序3
1.2.2 執行“Hello World”程序及查看結果4
1.2.3 使用VBA調試器4
1.3 VBA的功能及用途5
1.3.1 VBA的功能5
1.3.2 VBA的用途及常用開發工具5
1.4 小結6
1.5 本章習題6
第2章 Excel中的宏與VBA( 教學視頻:18分鐘)7
2.1 認識宏7
2.1.1 什么是宏7
2.1.2 理解宏的功能8
2.2 操作Excel中的宏8
2.2.1 錄制宏9
2.2.2 保存宏10
2.2.3 執行宏11
2.2.4 編輯宏12
2.2.5 刪除宏13
2.3 加載宏14
2.3.1 在Excel中加載宏14
2.3.2 在Excel中卸載加載宏15
2.3.3 在Excel中保存加載宏16
2.3.4 Excel中的其他加載宏17
2.4 宏的安全性18
2.4.1 通過信任中心設置宏的安全18
2.4.2 通過信任中心啟用被禁的宏19
2.5 宏的數字簽名19
2.5.1 添加數字簽名20
2.5.2 使用數字簽名22
2.6 小結24
2.7 本章習題24
第3章 開發VBA的工具( 教學視頻:23分鐘)25
3.1 Excel中的Visual Basic編輯器25
3.1.1 打開編輯器25
3.1.2 剖析編輯器26
3.2 常用編輯器窗口27
3.2.1 使用工程窗口查看工程結構27
3.2.2 使用屬性窗口查看工程屬性29
3.2.3 使用代碼窗口編輯調試VBA代碼30
3.2.4 使用立即窗口查看工程結果31
3.2.5 使用對象瀏覽器窗口查看所有對象32
3.3 使用編輯器的代碼輸入功能33
3.3.1 顯示常用的屬性和方法34
3.3.2 顯示參數35
3.3.3 使用快速信息35
3.4 調試VBA36
3.5 小結38
3.6 本章習題38
第4章 VBA變量和運算符( 教學視頻:19分鐘)40
4.1 認識常量40
4.1.1 定義系統常量40
4.1.2 自定義常量41
4.2 使用變量42
4.2.1 在VBA中聲明變量42
4.2.2 VBA強制聲明變量44
4.2.3 VBA變量的作用域44
4.2.4 詳解VBA變量的生存周期46
4.3 使用運算符和表達式47
4.3.1 算術運算符與算術表達式47
4.3.2 比較運算符與比較表達式48
4.3.3 邏輯運算符與邏輯表達式49
4.4 小結50
4.5 本章習題50
第5章 VBA語句( 教學視頻:15分鐘)51
5.1 VBA中的語句51
5.1.1 什么是語句51
5.1.2 使用賦值語句53
5.1.3 使用注釋語句54
5.2 數據的輸入和輸出56
5.2.1 輸入對話框56
5.2.2 提示對話框57
5.2.3 顯示程序運行結果59
5.3 程序的中斷60
5.3.1 暫停程序60
5.3.2 停止程序60
5.4 小結61
5.5 本章習題61
第6章 VBA程序控制結構( 教學視頻:47分鐘)63
6.1 使用VBA選擇結構63
6.1.1 程序的結構63
6.1.2 使用條件表達式64
6.1.3 If…Then語句65
6.1.4 If…Then…Else語句66
6.1.5 IIf函數67
6.1.6 If…Then…ElseIf語句68
6.1.7 Select Case語句70
6.1.8 被嵌套的選擇結構73
6.2 使用VBA循環結構75
6.2.1 For…Next語句75
6.2.2 For Each…In Next語句77
6.2.3 Do…Loop語句78
6.2.4 Until型Do…Loop語句80
6.2.5 While…Wend語句81
6.2.6 被嵌套的循環結構83
6.3 使用其他控制語句84
6.3.1 With語句84
6.3.2 Exit語句85
6.3.3 GoTo語句86
6.4 異常處理語句88
6.4.1 On Error語句88
6.4.2 Resume語句89
6.5 小結91
6.6 本章習題91
第7章 使用VBA數組( 教學視頻:13分鐘)93
7.1 什么是數組93
7.1.1 數組的概念93
7.1.2 聲明一維數組94
7.1.3 聲明二維數組95
7.2 靜態數組96
7.2.1 初始化靜態數組96
7.2.2 使用二維靜態數組97
7.3 動態數組98
7.3.1 聲明動態數組98
7.3.2 定義數組大小98
7.3.3 復制數組99
7.3.4 清空數組或重定義數組100
7.4 小結101
7.5 本章習題102
第8章 使用過程與函數( 教學視頻:38分鐘)103
8.1 什么是過程103
8.1.1 初識VBA模塊103
8.1.2 理解過程104
8.2 VBA中的Sub過程104
8.2.1 創建Sub過程105
8.2.2 調用Sub過程106
8.3 VBA中參數的傳遞108
8.3.1 使用地址參數傳遞108
8.3.2 使用值參數傳遞109
8.3.3 使用數組參數傳遞110
8.3.4 使用可選參數111
8.3.5 使用可變參數114
8.4 使用Function過程116
8.4.1 理解函數116
8.4.2 定義Function過程119
8.4.3 直接調用Function過程119
8.4.4 在Excel工作表中調用Function函數120
8.5 小結122
8.6 本章習題123
第2篇 Excel VBA編程進階
第9章 對象模型( 教學視頻:22分鐘)126
9.1 認識Excel對象126
9.1.1 理解對象的屬性126
9.1.2 理解對象的方法127
9.1.3 理解對象的事件128
9.2 使用對象變量和對象數組130
9.2.1 使用對象變量130
9.2.2 使用對象數組132
9.3 使用Excel集合對象132
9.4 學習Excel 2010中的對象模型134
9.4.1 理解Excel對象模型134
9.4.2 了解Excel對象層次結構135
9.5 小結136
9.6 本章習題136
第10章 Application對象( 教學視頻:41分鐘)138
10.1 常用操作138
10.1.1 在Excel中使用“打開”對話框138
10.1.2 實現Excel定時操作139
10.1.3 退出Excel應用程序140
10.1.4 在Excel過程中調用宏141
10.1.5 激活Office 2010應用程序142
10.1.6 獲取Excel系統信息142
10.1.7 為Excel操作指定快捷鍵143
10.2 設置Excel界面外觀144
10.2.1 設置Excel界面標題欄144
10.2.2 使用Excel界面狀態欄145
10.2.3 設置Excel窗口最大化和最小化146
10.2.4 設置Excel界面光標形狀147
10.3 操作Excel單元格148
10.3.1 快速選擇Excel單元格148
10.3.2 同時選擇Excel多個區域單元格149
10.3.3 取消復制或剪切操作150
10.4 操作Excel文件151
10.4.1 獲取文件夾中指定文件的Excel文件名151
10.4.2 獲取Excel文件保存位置153
10.4.3 打開最近使用的Excel文件154
10.5 小結155
10.6 本章習題155
第11章 工作簿對象( 教學視頻:29分鐘)157
11.1 引用Excel工作簿對象157
11.1.1 引用Excel工作簿的方法157
11.1.2 激活Excel工作簿對象158
11.2 新建和打開Excel工作簿159
11.2.1 新建Excel工作簿159
11.2.2 打開Excel工作簿160
11.3 保存Excel工作簿161
11.3.1 使用Save方法保存Excel工作簿161
11.3.2 使用SaveAs方法保存Excel文檔162
11.4 保護Excel工作簿163
11.4.1 設置Excel工作簿打開密碼164
11.4.2 設置Excel工作簿保護密碼164
11.5 使用Excel工作簿事件165
11.5.1 啟用或禁用事件166
11.5.2 使用Excel工作簿的窗口大小更改事件167
11.5.3 使用Excel工作簿的打開事件167
11.5.4 使用Excel工作簿的工作表激活事件168
11.5.5 使用Excel工作簿的關閉之前事件169
11.6 小結170
11.7 本章習題170
第12章 工作表對象( 教學視頻:48分鐘)172
12.1 引用Excel工作表對象172
12.1.1 使用名稱引用Excel工作表172
12.1.2 使用索引號引用Excel工作表173
12.2 新建和刪除Excel工作表174
12.2.1 新建Excel工作表174
12.2.2 刪除Excel工作表175
12.3 選取和隱藏Excel工作表176
12.3.1 選擇Excel工作表176
12.3.2 隱藏Excel工作表177
12.4 復制和移動Excel工作表179
12.4.1 復制Excel工作表179
12.4.2 移動Excel工作表180
12.5 打印Excel工作表181
12.6 工作表的其他操作183
12.6.1 設置Excel工作表的滾動區域183
12.6.2 查看Excel工作表中的批注184
12.6.3 刪除空白Excel工作表185
12.7 使用Excel工作表事件186
12.7.1 使用Excel工作表激活事件186
12.7.2 使用Excel單元格更改事件187
12.7.3 使用Excel工作表的選擇區域變化事件188
12.7.4 使用Excel工作表右擊事件189
12.8 小結190
12.9 本章習題191
第13章 單元格對象( 教學視頻:36分鐘)193
13.1 引用Excel單元格193
13.1.1 引用Excel單元格193
13.1.2 引用Excel單元格區域195
13.1.3 使用偏移方式引用Excel單元格197
13.2 操作Excel單元格198
13.2.1 刪除Excel單元格198
13.2.2 清除Excel單元格內容199
13.2.3 插入和隱藏Excel單元格200
13.2.4 復制Excel單元格數據201
13.2.5 保護Excel單元格202
13.3 查找單元格數據203
13.3.1 查找單個條件的數據204
13.3.2 查找多個條件的數據205
13.3.3 使用Match方法查找數據206
13.3.4 篩選符合條件的數據208
13.3.5 按顏色篩選數據210
13.4 設置Excel單元格格式212
13.4.1 設置Excel單元格邊框212
13.4.2 使用Excel條件格式213
13.4.3 使用Excel數據條215
13.4.4 自動排列前10名數據215
13.5 小結216
13.6 本章習題217
第14章 工作表界面( 教學視頻:36分鐘)219
14.1 認識Excel表單控件219
14.2 使用Excel表單控件220
14.2.1 “數值調節按鈕”控件220
14.2.2 “單選按鈕”控件和“分組框”控件222
14.2.3 “組合框”控件224
14.2.4 “列表框”控件226
14.2.5 “復選框”控件227
14.2.6 “標簽”控件229
14.2.7 “按鈕”控件229
14.3 使用Excel ActiveX控件231
14.3.1 添加控件和修改屬性231
14.3.2 為控件添加程序代碼234
14.4 小結238
14.5 本章習題238
第15章 自定義Excel用戶窗體( 教學視頻:61分鐘)240
15.1 使用Excel窗體240
15.1.1 添加用戶窗體240
15.1.2 設置窗體的屬性和事件241
15.1.3 使用窗體的方法243
15.2 使用Excel控件245
15.2.1 認識控件245
15.2.2 設置窗體控件246
15.3 使用Excel標準控件249
15.3.1 “標簽”控件249
15.3.2 “文本框”控件250
15.3.3 “復選框”控件和“單選按鈕”按鈕控件253
15.3.4 “列表框”控件257
15.3.5 “組合框”控件260
15.3.6 “圖像”控件和“數字調節鈕”控件261
15.3.7 TabStrip控件和“多頁”控件263
15.3.8 Refedit控件266
15.4 使用Excel附加的ActiveX控件268
15.4.1 ListView控件268
15.4.2 ImageList控件272
15.4.3 TreeView控件275
15.5 小結281
15.6 本章習題281
第16章 自定義Excel 2010功能區( 教學視頻:22分鐘)283
16.1 什么是Open XML283
16.2 了解Excel 2010的功能區284
16.2.1 使用Excel 2010功能區的基本控件285
16.2.2 使用Excel 2010功能區的容器控件288
16.3 使用Open XML格式文件自定義功能區291
16.4 使用UI編輯器設計功能區294
16.5 小結297
16.6 本章習題297
第17章 控制圖表( 教學視頻:16分鐘)299
17.1 引用Excel圖表對象299
17.2 創建Excel圖表對象300
17.2.1 使用Excel圖表對象的常見屬性300
17.2.2 添加Excel圖表對象301
17.2.3 使用Excel圖表對象的事件303
17.3 操作Excel圖表305
17.3.1 操作圖表區306
17.3.2 操作繪圖區307
17.3.3 操作坐標軸308
17.3.4 操作數據系列310
17.4 小結311
17.5 本章習題312
第18章 類模塊( 教學視頻:13分鐘)314
18.1 使用對象類314
18.1.1 創建對象類314
18.1.2 聲明類模塊中的對象315
18.2 使用對象屬性316
18.2.1 使用變量創建屬性316
18.2.2 使用屬性過程317
18.3 創建類的方法318
18.4 類的事件319
18.4.1 創建事件的語法320
18.4.2 創建事件的案例320
18.5 小結322
18.6 本章習題322
第19章 數據庫編程( 教學視頻:23分鐘)324
19.1 認識數據庫324
19.2 使用ADO操作數據325
19.2.1 創建Connection連接對象325
19.2.2 使用Recordset記錄集對象326
19.2.3 獲取數據庫中的數據329
19.2.4 在數據庫中添加和刪除記錄332
19.3 查詢數據庫中的數據336
19.4 小結340
19.5 本章習題341
第3篇 項目開發案例實戰
第20章 教務管理系統( 教學視頻:27分鐘)344
20.1 設計功能344
20.1.1 功能簡介344
20.1.2 設計思路346
20.2 設計用戶界面346
20.2.1 創建Excel 2010工作表346
20.2.2 設計教務管理登錄界面347
20.3 學生查詢分數348
20.4 教師查詢分數352
20.4.1 創建查詢表353
20.4.2 實現分數查詢357
20.5 設置操作權限361
20.5.1 設定教師權限361
20.5.2 設置管理員權限362
20.6 退出程序363
20.7 小結364
第21章 檔案管理系統( 教學視頻:27分鐘)366
21.1 設計功能366
21.1.1 功能簡介366
21.1.2 設計思路367
21.2 設計用戶界面367
21.2.1 添加信息錄入控件367
21.2.2 添加控制按鈕控件369
21.3 實現程序功能372
21.3.1 實現界面初始化功能372
21.3.2 實現添加人事信息功能373
21.3.3 實現查詢和修改數據功能376
21.3.4 實現退出程序和查看工作表379
21.4 小結382