內容簡介
《Excel VBA套用開發經典案例》分為3篇,分別是基礎篇、簡單實例篇和複雜實例篇,一共包含12章。第1~3章是基礎篇,介紹Excel VBA開發的基礎知識,包括熟悉VBE開發環境、VBA程式設計基礎和Excel對象模型知識。第4~9章是簡單實例篇,結合各個實用實例,介紹如何通過VBA代碼調用Excel本身的各種強大數據管理與分析功能,內容涉及數據有效性、排序、自動篩選、高級篩選、名稱、工作表函式和工作表保護等。第10~12章是複雜實例篇,重點講述了Excel 2007結合資料庫的開發模式。讀者可以認識和了解DAO/ADO/ADOX對象,使用SQL查詢語句。
《Excel VBA套用開發經典案例》從實際出發,對每個實例都介紹了設計思路與知識點,避免讀者在學習過程中走彎路。無論是初學者還是有一定基礎的讀者,都可以通過學習《Excel VBA套用開發經典案例》來編寫自己的應用程式。
《Excel VBA套用開發經典案例》適合有大量數據處理需求的管理人員閱讀,也適合大中專院校學生以及電腦愛好者學習閱讀。
目錄
第1篇 ExcelVBA基礎知識
第1章 初識Excel2007VBA2
1.1 VBA的能力2
1.2 認識VBA編輯器(VBE)3
1.2.1 VBE環境的設定5
1.2.2 VBE編輯器工具列6
1.2.3 工程資源管理器6
1.2.4 屬性視窗7
1.2.5 代碼視窗7
1.2.6 對象瀏覽器8
1.3 VBE調試工具9
1.3.1 逐句調試9
1.3.2 斷點設定9
1.3.3 設定下一條語句9
1.3.4 運行到游標10
1.3.5 立即視窗10
1.3.6 懸浮視窗10
1.3.7 監視視窗11
1.4 從宏開始學習VBA11
1.4.1 了解宏12
1.4.2 錄製宏實例13
1.4.3 分析與編輯宏代碼14
1.4.4 運行宏15
第2章 VBA程式設計基礎16
2.1 數據類型16
2.1.1 數值型17
2.1.2 位元組型(Byte)18
2.1.3 字元串型(String)18
2.1.4 邏輯型(Boolean)18
2.1.5 日期型(Date)18
2.1.6 無符號型(Decimal)18
2.1.7 變體型(Variant)19
2.1.8 對象型(Object)19
2.1.9 用戶自定義型19
2.2 常量19
2.2.1 直接常量19
2.2.2 符號常量20
2.2.3 系統常量20
2.3 變數21
2.3.1 變數命名21
2.3.2 變數聲明22
2.3.3 變數的作用範圍22
2.4 認識過程與函式24
2.4.1 Sub過程24
2.4.2 Function過程25
2.5 表達式與運算符25
2.5.1 算術運算符26
2.5.2 比較運算符26
2.5.3 邏輯運算符26
2.5.4 連線運算符27
2.5.5 特殊運算符27
2.6 結構語句28
2.6.1 賦值語句29
2.6.2 輸出語句29
2.6.3 If…Then語句29
2.6.4 If…Then…Else語句及其變體30
2.6.5 SelectCase多分支語句32
2.6.6 Do…Loop語句33
2.6.7 For…Next語句35
2.6.8 ForEach…Next語句36
2.6.9 跳轉語句37
2.7 常見函式與語句38
2.7.1 注釋語句38
2.7.2 InputBox函式38
2.7.3 MsgBox函式39
2.8 數組40
2.8.1 了解數組定義及上下界40
2.8.2 多維數組41
2.8.3 動態數組41
2.8.4 5個數組相關函式和語句42
2.8.5 在VBA中使用數組43
第3章 Excel2007VBA對象模型44
3.1 面向對象編程44
3.1.1 對象的屬性44
3.1.2 對象的方法45
3.1.3 對象的事件45
3.2 Application對象46
3.2.1 Application對象常用屬性46
3.2.2 Application對象常用方法47
3.3 Workbook對象47
3.3.1 Workbook對象常用屬性47
3.3.2 Workbook對象常用方法48
3.4 Worksheet對象48
3.4.1 Worksheet對象常用屬性48
3.4.2 Worksheet對象常用方法49
3.5 Range對象50
3.5.1 Range對象的引用方式50
3.5.2 Range對象常用屬性50
3.5.3 Range對象常用方法51
第2篇 簡單實例
第4章 客戶管理系統54
4.1 系統概述54
4.1.1 設計思路54
4.1.2 知識點一:顯示【開發工具】選項卡55
4.1.3 知識點二:開啟有代碼的工作簿56
4.2 首頁設計56
4.2.1 首頁界面設計57
4.2.2 標籤控制項顯示效果變化代碼61
4.2.3 標籤單擊事件代碼62
4.3 客戶資源管理窗體設計63
4.3.1 窗體界面設計64
4.3.2 窗體初始化代碼64
4.3.3 新增按鈕代碼66
4.3.4 查找按鈕代碼68
4.3.5 檢查拼音函式代碼設計69
4.3.6 拼音頭字母函式代碼設計71
4.3.7 修改按鈕代碼72
4.3.8 刪除按鈕代碼73
4.3.9 查看客戶表按鈕代碼74
4.3.10 瀏覽按鈕代碼75
4.3.11 瀏覽按鈕狀態過程代碼設計76
4.4 客戶資料查詢導出窗體設計77
4.4.1 窗體界面設計78
4.4.2 窗體初始化代碼79
4.4.3 myCountry與myList過程代碼設計81
4.4.4 按區域篩選客戶代碼設計81
4.4.5 myListView過程代碼設計83
4.4.6 選項按鈕.文本框和複合框代碼設計84
4.4.7 開始查詢按鈕單擊事件代碼設計86
4.4.8 輸出報表過程代碼設計87
4.5 系統測試87
4.5.1 客戶資料管理視窗測試87
4.5.2 客戶資料查詢導出視窗測試89
第5章 學生成績管理系統91
5.1 系統概述91
5.1.1 設計思路91
5.1.2 知識點一:數據有效性92
5.1.3 知識點二:自動篩選93
5.1.4 知識點三:凍結視窗94
5.1.5 知識點四:End屬性95
5.1.6 知識點五:Sort方法95
5.2 首頁設計96
5.3 基本資料建立模組設計99
5.3.1 學生名單表設計99
5.3.2 教師與科目設定表設計102
5.3.3 年級班級設定表設計103
5.4 成績輸入與分析模組設計104
5.4.1 成績輸入模組設計105
5.4.2 年級排名模組設計109
5.4.3 成績再處理模組設計114
5.5 查詢模組設計114
5.5.1 班級學生查詢設計115
5.5.2 教師與科目查詢設計115
5.5.3 班級成績查詢設計116
5.6 窗體設計117
5.6.1 成績查詢設定視窗設計117
5.6.2 成績再處理設定視窗設計120
5.6.3 教師查詢視窗設計121
5.6.4 學生信息查詢視窗設計123
5.6.5 年級班級選擇視窗設計126
5.7 系統測試129
5.7.1 建立班級成績129
5.7.2 生成年級成績排名130
第6章 固定資產管理系統132
6.1 系統概述132
6.1.1 設計思路132
6.1.2 知識點一:設定單元格條件格式133
6.1.3 知識點二:SendKey方法134
6.2 首頁界面設計134
6.2.1 首頁組成元素134
6.2.2 首頁建立步驟135
6.3 其他無代碼表設計137
6.3.1 單項固定資產折舊明細模板表設計137
6.3.2 設定表工作表設計137
6.4 固定資產登記表設計138
6.4.1 表界面設計138
6.4.2 設定單元格條件格式139
6.4.3 表初始化代碼140
6.4.4 工作表雙擊事件代碼141
6.4.5 固定資產保存142
6.5 固定資產登記統計表設計143
6.5.1 界面設計144
6.5.2 代碼設計144
6.6 固定資產折舊與現值表設計145
6.6.1 表界面設計145
6.6.2 表代碼設計146
6.7 基本設定窗體設計148
6.7.1 窗體界面設計148
6.7.2 窗體初始化與確定、關閉按鈕代碼設計150
6.7.3 初始化頁過程代碼解釋151
6.7.4 重置列表過程代碼設計152
6.7.5 多頁控制項單擊事件代碼設計153
6.7.6 使用部門頁控制項單擊事件代碼設計154
6.7.7 資產類別頁事件代碼設計156
6.7.8 資產來源頁事件代碼設計157
6.8 計提日期窗體設計159
6.8.1 窗體界面設計159
6.8.2 窗體代碼設計159
6.9 進度窗體設計160
6.10 利用數據窗體設計162
6.10.1 窗體界面設計162
6.10.2 窗體初始化代碼設計163
6.10.3 視窗控制項事件代碼設計164
6.11 輸入輔助窗體設計166
6.11.1 窗體界面設計166
6.11.2 窗體初始化與卸載事件代碼設計167
6.11.3 視窗控制項事件代碼設計169
6.12 公共代碼模組設計170
6.12.1 公共變數模組170
6.12.2 跳轉按鈕宏過程代碼設計170
6.12.3 資產類別拼音函式代碼設計171
6.12.4 拼音頭字母函式代碼設計173
6.12.5 獲取資產編號函式代碼設計174
6.12.6 計提折舊過程代碼設計176
6.12.7 是否計提函式代碼設計178
6.13 系統測試179
6.13.1 固定資產登記179
6.13.2 查看資產信息180
6.13.3 計提折舊180
6.13.4 固定資產折舊與現值181
第7章 進銷存管理系統182
7.1 系統概述182
7.1.1 設計思路182
7.1.2 知識點:自定義選單183
7.2 Access資料庫設計183
7.2.1 數據表設計183
7.2.2 建立資料庫代碼185
7.3 系統自定義選單187
7.3.1 子選單設計187
7.3.2 自定義選單代碼設計188
7.4 系統設定功能模組設計192
7.4.1 系統公共變數192
7.4.2 用戶登錄設計193
7.4.3 修改用戶名功能設計195
7.4.4 修改密碼功能設計196
7.4.5 用戶許可權管理設計197
7.5 供應商資料管理窗體設計199
7.5.1 供應商資料管理窗體界面199
7.5.2 視窗初始化與關閉事件代碼設計200
7.5.3 保存按鈕單擊事件代碼設計201
7.5.4 新建按鈕單擊事件代碼設計203
7.5.5 修改按鈕單擊事件代碼設計203
7.5.6 刪除按鈕單擊事件代碼設計204
7.5.7 查詢按鈕單擊事件代碼設計204
7.5.8 ListView控制項項目單擊事件代碼設計205
7.5.9 查詢與顯示供貨商信息過程代碼設計206
7.5.10 myListView過程代碼設計206
7.6 商品資料管理窗體設計208
7.6.1 商品資料管理視窗界面設計208
7.6.2 視窗初始化與關閉事件代碼設計209
7.6.3 保存按鈕單擊事件代碼設計209
7.6.4 新建按鈕單擊事件代碼設計211
7.6.5 修改按鈕單擊事件代碼設計212
7.6.6 刪除按鈕單擊事件代碼設計212
7.6.7 查詢按鈕單擊事件代碼設計213
7.6.8 ListView控制項項目單擊事件代碼設計214
7.6.9 查詢與顯示商品信息過程代碼設計214
7.6.1 0myListView過程代碼設計215
7.7 進貨資料管理窗體設計216
7.7.1 進貨資料管理窗體界面設計216
7.7.2 視窗初始化與關閉事件代碼設計217
7.7.3 保存按鈕單擊事件代碼設計218
7.7.4 進貨數量文本框事件代碼設計220
7.7.5 商品編碼複合框事件代碼設計222
7.7.6 新建按鈕單擊事件代碼設計223
7.7.7 修改按鈕單擊事件代碼設計223
7.7.8 刪除按鈕單擊事件代碼設計224
7.7.9 查詢按鈕單擊事件代碼設計225
7.7.10 ListView控制項項目單擊事件代碼設計226
7.7.11 查詢與顯示進貨信息過程代碼設計226
7.7.12 myListView過程代碼設計227
7.8 銷售資料管理窗體設計228
7.8.1 銷售資料管理窗體界面設計228
7.8.2 視窗初始化與關閉事件代碼設計228
7.8.3 保存按鈕單擊事件代碼設計230
7.8.4 商品編碼複合框事件代碼設計232
7.8.5 銷售數量文本框事件代碼設計232
7.8.6 新建按鈕單擊事件代碼設計233
7.8.7 修改按鈕單擊事件代碼設計234
7.8.8 刪除按鈕單擊事件代碼設計235
7.8.9 查詢按鈕單擊事件代碼設計235
7.8.1 0ListView控制項項目單擊事件代碼設計236
7.8.1 1查詢與顯示銷售信息過程代碼設計236
7.8.1 2myListView過程代碼設計237
7.9 銷售統計分析窗體設計238
7.9.1 視窗初始化與關閉事件代碼設計238
7.9.2 查詢商品名稱過程代碼設計240
7.9.3 商品名稱複合框過程代碼設計240
7.9.4 複合框事件代碼設計240
7.9.5 按鈕單擊事件代碼設計242
7.10 庫存管理模組設計244
7.10.1 庫存資料管理窗體設計244
7.10.2 視窗初始化過程代碼設計245
7.10.3 關閉退出按鈕代碼設計248
7.11 資料查詢與導出248
7.11.1 資料查詢與導出窗體設計248
7.11.2 視窗初始化與關閉過程代碼設計249
7.11.3 查詢項目複合框代碼設計250
7.11.4 開始查詢按鈕代碼設計251
7.11.5 數據導出按鈕代碼設計253
7.11.6 信息種類複合框代碼設計254
7.11.7 運算符複合框事件代碼設計256
7.11.8 重設條件與清除顯示信息代碼設計256
7.12 系統測試257
7.12.1 進貨測試257
7.12.2 銷售測試258
7.12.3 查詢與導出測試258
第8章 員工管理系統260
8.1 系統概論260
8.1.1 設計思路260
8.1.2 知識點一:名稱261
8.1.3 知識點二:使用OnTime方法261
8.1.4 知識點三:Range對象的Sort方法261
8.1.5 知識點四:CountIf函式262
8.1.6 知識點五:DateDiff函式262
8.2 工作簿對象與表設計263
8.2.1 主頁表263
8.2.2 員工檔案卡表界面設計264
8.2.3 員工檔案卡表代碼設計266
8.2.4 請假登記表設計270
8.2.5 考勤表設計270
8.2.6 庫表設計270
8.2.7 參數表設計270
8.2.8 工作簿對象設計270
8.3 設計員工檔案卡模組代碼271
8.3.1 變數定義271
8.3.2 記錄新增操作271
8.3.3 記錄修改操作272
8.3.4 記錄刪除操作272
8.3.5 記錄保存操作274
8.3.6 記錄複製/貼上操作275
8.3.7 Sheet_Formula過程276
8.3.8 記錄瀏覽操作277
8.3.9 記錄的查詢操作280
8.3.10 鎖定與解鎖工作表過程282
8.3.11 隱藏批註與顯示圖片過程283
8.4 考勤簽到模組代碼設計284
8.4.1 考勤簽到窗體設計284
8.4.2 考勤簽到模組執行流程與初始化代碼285
8.4.3 設計計時器代碼286
8.4.4 設計檢查考勤月份代碼287
8.4.5 設計檢查考勤表員工資料代碼289
8.4.6 設計標記員工出勤代碼291
8.4.7 設計窗體其他功能代碼294
8.5 請假登記模組代碼設計295
8.5.1 請假登記窗體設計295
8.5.2 窗體初始化296
8.5.3 年月日複合框相關代碼設計297
8.5.4 確認請假登記代碼設計300
8.6 系統測試303
8.6.1 員工資料登記303
8.6.2 員工考勤登記304
8.6.3 員工請假登記304
第9章 商場銷售數據管理系統306
9.1 系統概論306
9.2 數據表設計307
9.2.1 基本信息資料表設計307
9.2.2 商品銷售數據資料表設計309
9.3 公共模組代碼設計309
9.3.1 公共變數模組設計309
9.3.2 啟動窗體公共過程代碼設計311
9.3.3 總查詢字元串設定過程311
9.3.4 資料庫建立與更新過程代碼設計313
9.3.5 壓縮資料庫代碼設計317
9.4 基本信息設定窗體設計318
9.4.1 基本信息設定窗體界面設計318
9.4.2 窗體初始化代碼320
9.4.3 新建按鈕代碼設計323
9.4.4 編輯按鈕代碼設計325
9.4.5 刪除按鈕代碼設計327
9.4.6 ListView控制項代碼設計328
9.5 商品銷售數據登記窗體設計328
9.5.1 商品銷售數據登記窗體界面設計328
9.5.2 視窗初始化.激活與卸載代碼設計330
9.5.3 複合框與文本框改變事件代碼設計331
9.5.4 按鈕單擊事件代碼設計332
9.5.5 刷新複合框過程代碼設計336
9.6 查詢銷售數據設定窗體設計338
9.7 查詢顯示窗體設計347
9.7.1 窗體界面設計347
9.7.2 窗體事件代碼設計348
9.7.3 ListView控制項事件代碼設計350
9.7.4 導出所有項按鈕代碼設計351
9.7.5 重置按鈕代碼設計352
9.7.6 僅顯示勾選項按鈕代碼設計352
9.7.7 編輯按鈕代碼設計355
9.7.8 關閉按鈕代碼設計355
9.8 編輯查詢條件視窗設計355
9.8.1 窗體界面設計356
9.8.2 窗體事件代碼設計356
9.8.3 文本框改變事件357
9.8.4 確定按鈕代碼設計357
9.8.5 關閉按鈕代碼設計358
9.9 系統測試358
9.9.1 銷售數據輸入358
9.9.2 查詢銷售數據359
9.9.3 編輯銷售數據359
第3篇 複雜實例
第10章 學生座位編排系統362
10.1 系統概述362
10.1.1 知識點一:合併單元格363
10.1.2 知識點二:定義批註363
10.1.3 知識點三:Split函式的使用364
10.2 首頁設計365
10.2.1 首頁界面設計365
10.2.2 首頁代碼設計368
10.2.3 編排座位宏代碼設計368
10.3 學生表設計372
10.3.1 學生表界面設計372
10.3.2 學生表代碼設計373
10.4 編排表設計373
10.4.1 編排表界面設計374
10.4.2 編排表代碼設計374
10.5 輔助輸入視窗設計376
10.5.1 輔助輸入視窗界面設計376
10.5.2 視窗初始化代碼設計377
10.5.3 確認按鈕單擊事件代碼設計378
10.6 講台位置設定視窗設計379
10.6.1 視窗界面設計379
10.6.2 視窗代碼設計380
10.7 交換位置視窗設計380
10.7.1 視窗界面設計380
10.7.2 視窗代碼設計381
10.8 手動調整視窗設計382
10.8.1 視窗界面設計382
10.8.2 視窗代碼設計383
10.9 行列設定視窗設計385
10.9.1 視窗界面設計385
10.9.2 視窗代碼設計386
10.10 系統測試387
10.10.1 座次編排設定與自動排列座次387
10.10.2 調整座次388
第11章 契約管理系統389
11.1 系統概論389
11.1.1 知識點一:工作表的可見性390
11.1.2 知識點二:隱藏或取消隱藏表390
11.1.3 知識點三:設定或取消深度隱藏391
11.1.4 知識點四:保護工作表與撤銷保護391
11.2 數據表設計392
11.3 首頁設計393
11.3.1 首頁界面設計393
11.3.2 首頁代碼設計395
11.4 模組代碼設計396
11.4.1 公共變數模組代碼設計396
11.4.2 創建資料庫程式模組代碼設計396
11.5 用戶登錄視窗設計398
11.5.1 用戶登錄視窗界面設計398
11.5.2 窗體代碼設計398
11.6 修改用戶名視窗設計400
11.6.1 視窗界面設計400
11.6.2 視窗代碼設計401
11.7 修改密碼視窗設計403
11.7.1 修改密碼視窗界面設計403
11.7.2 視窗代碼設計403
11.8 契約基本信息管理視窗設計405
11.8.1 視窗界面設計405
11.8.2 視窗初始化與關閉事件代碼設計408
11.8.3 複合框設定過程代碼設計410
11.8.4 查詢、顯示契約基本信息過程代碼設計411
11.8.5 顯示契約收費情況過程代碼設計412
11.8.6 添加類別與部門按鈕代碼設計413
11.8.7 新契約與添加按鈕代碼設計415
11.8.8 修改按鈕代碼設計417
11.8.9 刪除按鈕代碼設計417
11.8.10 查詢按鈕代碼設計418
11.8.11 瀏覽記錄按鈕組代碼設計419
11.9 契約收費信息管理視窗設計420
11.9.1 視窗界面設計420
11.9.2 視窗初始化與關閉事件代碼設計422
11.9.3 複合框設定代碼設計424
11.9.4 查詢、顯示契約收費信息代碼設計425
11.9.5 添加類別按鈕代碼設計426
11.9.6 新記錄與添加按鈕代碼設計427
11.9.7 修改按鈕代碼設計429
11.9.8 刪除按鈕代碼設計430
11.9.9 查詢按鈕代碼設計431
11.9.10 ListView控制項項目單擊事件代碼設計432
11.10 契約信息查詢與導出視窗設計433
11.10.1 視窗界面設計433
11.10.2 視窗初始化與關閉事件代碼435
11.10.3 複合框設定代碼設計436
11.10.4 重設條件按鈕代碼設計437
11.10.5 開始查詢按鈕代碼設計437
11.10.6 數據導出按鈕代碼設計439
11.10.7 清除顯示信息過程代碼設計440
11.11 系統測試440
11.11.1 登錄視窗測試440
11.11.2 修改用戶名視窗測試441
11.11.3 修改用戶密碼視窗測試442
11.11.4 契約信息管理視窗測試442
11.11.5 契約收費信息管理視窗測試443
11.11.6 契約信息查詢與導出視窗測試444
第12章 拆分與備份工作簿系統446
12.1 系統概述446
12.1.1 設計思路446
12.1.2 知識點一:在Excel2007中裝載載入宏447
12.1.3 知識點二:使用ADOX庫448
12.2 資料庫表設計449
12.3 工作簿與公共模組代碼設計450
12.3.1 工作簿對象代碼設計450
12.3.2 公共變數與選單按鈕代碼設計451
12.3.3 刷新窗體語言顯示過程代碼設計452
12.3.4 刷新工作簿列表過程代碼設計453
12.3.5 保存選擇工作簿代碼設計454
12.3.6 保存選擇工作簿過程代碼設計455
12.3.7 合併工作簿過程代碼設計456
12.3.8 連結字元串與工作簿名獲取過程代碼設計459
12.4 拆分工作簿窗體設計460
12.4.1 窗體界面設計460
12.4.2 變數定義與視窗激活事件代碼設計462
12.4.3 刷新List控制項過程代碼設計463
12.4.4 拆分工作簿文本框與瀏覽按鈕代碼設計464
12.4.5 添加按鈕單擊事件代碼設計465
12.4.6 組別複合框改變事件代碼設計467
12.4.7 添加按鈕單擊事件468
12.4.8 刪除按鈕單擊事件代碼設計469
12.4.9 開始拆分按鈕單擊事件代碼設計470
12.4.1 0檔案後綴與保存檔案名稱過程代碼設計472
12.5 選擇工作簿窗體設計472
12.5.1 視窗界面設計472
12.5.2 視窗事件代碼設計474
12.5.3 工作簿列表控制項代碼設計475
12.5.4 選中設定與語言設定框架代碼設計476
12.5.5 打開與下一步按鈕代碼設計477
12.5.6 設定控制項狀態過程代碼設計478
12.6 選擇工作表窗體設計479
12.6.1 視窗界面設計479
12.6.2 視窗激活與卸載事件代碼設計481
12.6.3 複合框改變事件代碼設計482
12.6.4 工作表列表.選中設定與按鈕代碼設計483
12.6.5 刷新標題過程代碼設計484
12.6.6 設定表名顯示狀態過程代碼設計485
12.6.7 添加刪除選定項過程代碼設計486
12.7 保存檔案視窗設計487
12.7.1 視窗界面設計487
12.7.2 視窗事件與ListView事件代碼設計489
12.7.3 按鈕代碼設計490
12.7.4 刷新已選工作表列表過程代碼設計491
12.7.5 刷新已選擇表過程代碼設計491
12.7.6 默認保存檔案名稱過程代碼設計492
12.8 信息提示視窗設計493
12.8.1 視窗界面設計494
12.8.2 視窗代碼設計494
12.9 系統測試495
12.9.1 拆分工作簿模組功能測試495
12.9.2 備份工作簿模組功能測試497