內容簡介
本書適用於多個版本,Excel 2000/2003/2007/2010/2013版本的用戶,都可以通過本書學習VBA。本書包括8部分共35章,分別介紹了Excel應用程式設計概述、VBA程式設計基礎、Excel對象模型、用戶界面設計、應用程式擴展、Excel應用程式的調試與最佳化等方面的內容,最后綜合套用前面的知識設計了兩個經典實例。本書在涉及大段原始碼的同時,給出了詳細的流程圖,讓讀者先看清流程,做到心中有數後,再逐行閱讀代碼。另外,本書配套DVD光碟中包括13個小時的精彩教學視頻,以及書中案例所涉及的源檔案及素材,方便讀者學習。
本書知識全面,由淺入深,以相關代碼講解知識點,適合需要用Excel解決複雜問題或者準備利用Excel VBA技術開發Excel應用程式的讀者,也適合大中專院校的學生閱讀,還可作為VBA培訓教材。
書本目錄
第1部分 Excel應用程式設計簡介
第1章 VBA與Excel應用程式 2
1.1 VBA概述 2
1.1.1 Basic語言 2
1.1.2 Visual Basic簡介2
1.1.3 VBA 3
1.2 Excel應用程式簡介 3
1.3 Excel VBA應用程式結構 4
1.3.1 Excel VBA應用程式的構成 4
1.3.2 事件驅動 4
1.4 Excel應用程式開發流程 5
1.4.1 需求分析 5
1.4.2 界面設計 5
1.4.3 代碼設計 6
1.4.4 幫助系統 6
1.4.5 系統測試 6
1.4.6 應用程式發布 7
第2章 使用Excel的宏 8
2.1 什麼是宏 8
2.2 創建宏 8
2.2.1 顯示“開發工具”選項卡 8
2.2.2 錄製宏10
2.2.3 使用VisualBasic創建宏 11
2.3 運行宏 12
2.3.1 使用“宏”對話框運行宏 12
2.3.2 使用鍵盤快捷鍵運行宏 13
2.3.3 使用快速工具列運行宏 13
2.3.4 通過按鈕運行宏14
2.3.5 通過圖形對象運行宏15
2.3.6 打開工作簿自動運行宏 16
2.3.7 在VBE環境中運行宏17
2.4 編輯宏 18
2.4.1 分析宏代碼18
2.4.2 清理宏代碼19
2.4.3 編輯宏的步驟 20
2.5 宏的安全性 23
2.5.1 宏安全性概述 23
2.5.2 打開包含宏的文檔 24
2.5.3 數字簽名簡介 24
第3章 VBE開發環境28
3.1 VBE概述28
3.1.1 VBE簡介 28
3.1.2 VBE的組成29
3.2 工程資源管理器 31
3.2.1 工程資源管理器的組成 31
3.2.2 管理工程資源 31
3.3“屬性”視窗 33
3.3.1 屬性視窗的組成33
3.3.2 設定屬性的方法34
3.4“代碼”視窗 35
3.4.1 代碼視窗的組成35
3.4.2 編輯代碼 36
3.4.3 編輯代碼快捷助手 37
3.5 定製VBE環境 40
3.5.1 設定“編輯器”選項卡40
3.5.2 設定“編輯器格式”選項卡41
3.5.3 設定“通用”選項卡 41
3.5.4 設定“可連線的”選項卡 41
第4章 第1個VBA程式 42
4.1 應用程式分析 42
4.2 設計窗體 42
4.3 編寫VBA代碼 44
4.3.1 編寫窗體代碼 44
4.3.2 編寫模組代碼 46
4.4 測試VBA程式 47
第2部分 VBA程式設計基礎
第5章 VBA基本概念50
5.1 VBA的數據類型 50
5.1.1 基本數據類型 50
5.1.2 枚舉類型 52
5.1.3 用戶定義數據類型 53
5.2 常量和變數 53
5.2.1 標識符命名規則53
5.2.2 常量 54
5.2.3 變數 55
5.2.4 強制聲明變數 56
5.2.5 變數的作用域 57
5.2.6 變數的存活期 58
5.3 運算符和表達式 58
5.3.1 算術運算符59
5.3.2 比較運算符59
5.3.3 連線運算符59
5.3.4 邏輯運算符60
5.3.5 表達式60
第6章 VBA常用語句61
6.1 語句 61
6.1.1 自動格式化61
6.1.2 複合語句與語句斷行61
6.2 賦值語句和注釋語句 62
6.2.1 賦值語句 62
6.2.2 注釋語句 63
6.3 數據輸入/輸出 63
6.3.1 數據輸入——InputBox函式 63
6.3.2 數據輸出——Print方法 64
6.3.3 數據輸出——MsgBox函式 65
6.4 程式暫停和退出語句 67
6.4.1 暫停語句 67
6.4.2 退出語句 68
第7章 程式控制結構69
7.1 算法的概念及表示 69
7.1.1 算法簡介 69
7.1.2 流程圖69
7.2 程式結構概述 70
7.3 分支程式結構 71
7.3.1 If … Then語句 71
7.3.2 If … Then … Else語句72
7.3.3 IIf函式72
7.3.4 If … Then … ElseIf語句 73
7.3.5 Select Case語句74
7.3.6 分支結構的嵌套76
7.4 循環程式結構 77
7.4.1 Do … Loop循環 77
7.4.2 While … Wend循環 80
7.4.3 For … Next循環 80
7.4.4 循環的嵌套82
7.4.5 Goto語句 83
第8章 數組85
8.1 數組簡介 85
8.2 聲明數組 85
8.2.1 定義一維數組 85
8.2.2 定義二維數組 87
8.2.3 默認數組 87
8.3 動態數組 88
8.4 數組的基本操作 89
8.4.1 數組的初始化 89
8.4.2 數組元素的複製90
8.4.3 數組的清除91
8.4.4 數組函式 92
第9章 Sub過程 93
9.1 過程的分類 93
9.2 定義Sub過程94
9.2.1 添加過程 94
9.2.2 使用代碼創建Sub過程 95
9.3 調用Sub過程96
9.3.1 使用VBA代碼調用Sub過程 96
9.3.2 以宏方式調用Sub過程 97
9.4 傳遞參數 97
9.4.1 形參與實參的結合 98
9.4.2 傳地址98
9.4.3 傳值 99
9.4.4 傳遞數組參數 100
9.5 可選參數和可變參數 100
9.5.1 可選參數 101
9.5.2 可變參數 101
第10章 Function函式103
10.1 函式與過程103
10.2 定義函式 103
10.2.1 創建函式 103
10.2.2 調用函式 104
10.3 Function函式實例 106
10.3.1 大寫金額轉換函式 106
10.3.2 生成彩票號碼 107
第3部分 Excel對象模型
第11章 對象概述 110
11.1 對象和類的概念110
11.1.1 什麼是對象 110
11.1.2 類的概念 110
11.2 對象的屬性、事件和方法111
11.2.1 對象屬性 111
11.2.2 對象事件 112
11.2.3 對象方法 112
11.3 對象變數和對象數組113
11.3.1 對象變數 113
11.3.2 對象數組 115
11.4 集合概述 115
11.4.1 集合的概念 115
11.4.2 集合的方法和屬性 116
11.4.3 訪問集合中的對象 116
11.5 處理對象和集合117
11.5.1 使用With… End With語句 117
11.5.2 使用ForEach … Next語句 118
第12章 Excel對象模型 120
12.1 Excel對象模型 120
12.1.1 Excel對象簡介120
12.1.2 Excel對象模型圖 120
12.1.3 使用隱含對象 122
12.1.4 Excel常用對象122
12.2 使用對象瀏覽器123
12.2.1 對象瀏覽器簡介 123
12.2.2 用對象瀏覽器查看對象成員 125
12.2.3 用對象瀏覽器查看VBA函式126
12.2.4 用對象瀏覽器查看過程 127
第13章 Excel常用對象 128
13.1 Application對象 128
13.1.1 Application對象的用途 128
13.1.2 設定Excel主視窗標題欄128
13.1.3 顯示或關閉編輯欄 129
13.1.4 關閉螢幕更新 129
13.1.5 設定狀態欄 130
13.1.6 查看模板檔案的路徑 130
13.1.7 最大化Excel視窗 131
13.1.8 獲取對象的引用 131
13.1.9 重新計算 132
13.1.10 將R1C1轉換為A1樣式133
13.1.11 快速跳轉133
13.1.12 定時執行過程133
13.1.13 合併區域134
13.2 Workbook對象 134
13.2.1 新建工作簿 134
13.2.2 打開工作簿 135
13.2.3 查看文檔屬性 135
13.2.4 處理工作簿檔案名稱 138
13.2.5 處理命名單元格區域 138
13.2.6 設定工作簿密碼 139
13.2.7 更名保存工作簿 140
13.2.8 關閉前自動保存工作簿 141
13.3 Worksheet對象 141
13.3.1 新建工作表 141
13.3.2 管理批註 142
13.3.3 設定工作表滾動區域 143
13.3.4 在工作表中繪製圖形 144
13.3.5 隱藏工作表 144
13.3.6 在工作表中校驗數據 145
13.3.7 自動生成下拉數據 145
13.4 Range對象 147
13.4.1 獲取Range對象 147
13.4.2 設定框線線 149
13.4.3 設定單元格部分字元格式 150
13.4.4 操作當前區域 151
13.4.5 修改列寬 151
13.4.6 定義條件格式 151
13.4.7 設定單元格格式 152
13.5 Chart對象 153
13.5.1 圖表分類 153
13.5.2 添加圖表工作表 153
13.5.3 添加嵌入式圖表 154
13.6 Window對象 155
13.6.1 創建視窗 155
13.6.2 命名活動視窗 156
13.6.3 控制視窗狀態 156
13.6.4 激活視窗 157
13.6.5 控制工作表顯示選項 157
第14章 常用的VBA代碼 159
14.1 引用單元格區域159
14.1.1 引用A1樣式 159
14.1.2 引用行列編號 160
14.1.3 引用整行/整列160
14.1.4 引用命名區域 161
14.2 處理單元格區域161
14.2.1 選定單元格區域 162
14.2.2 處理活動單元格 162
14.2.3 處理三維區域 163
14.2.4 複製單元格區域 163
14.2.5 複製動態區域 164
14.2.6 處理合併區域 165
14.2.7 保護單元格 166
14.3 處理工作簿和工作表167
14.3.1 將工作簿保存為Web頁167
14.3.2 保護工作簿 168
14.3.3 判斷工作簿是否存在 168
14.3.4 判斷工作簿是否打開 169
14.3.5 備份工作簿 170
14.3.6 獲取關閉工作簿中的值 171
14.3.7 設定數字精度 172
14.4 處理工作表173
14.4.1 判斷工作表是否存在 173
14.4.2 管理工作表 174
14.4.3 操作行和列 176
14.4.4 保護工作表 178
14.4.5 工作表排序 179
14.4.6 刪除空工作表 180
14.5 控制視窗 180
14.5.1 設定視窗大小 181
14.5.2 動態改變視窗大小 181
14.5.3 設定顯示比例 182
14.5.4 排列視窗 182
14.5.5 並排比較視窗 183
14.5.6 拆分窗格 184
第15章 Excel的事件186
15.1 了解事件 186
15.1.1 事件分類 186
15.1.2 編寫事件程式 187
15.2 工作簿事件187
15.2.1 工作簿事件簡介 187
15.2.2 Open事件188
15.2.3 BeforeClose事件 189
15.2.4 Activate事件 189
15.2.5 Deactivate事件 190
15.2.6 SheetActivate事件 190
15.2.7 NewSheet事件190
15.2.8 BeforeSave事件 191
15.2.9 BeforePrint事件 191
15.3 工作表事件192
15.3.1 工作表事件簡介 192
15.3.2 Activate事件 192
15.3.3 BeforeRightClick事件 192
15.3.4 Change事件 193
15.3.5 SelectionChange事件 194
15.4 OnTime和OnKey事件195
15.4.1 OnTime事件 195
15.4.2 OnKey事件 196
15.5 事件的產生順序196
15.5.1 工作簿事件產生順序 196
15.5.2 工作表事件產生順序 197
第4部分 用戶界面設計
第16章 自定義Excel2010功能區 200
16.1 功能區簡介200
16.1.1 認識Excel2010的功能區 200
16.1.2 自定義功能區的方法 201
16.2 使用XML自定義功能區 201
16.2.1 了解Excel2010檔案格式 201
16.2.2 創建功能區選項卡 202
16.3 使用UI編輯器 206
16.3.1 認識UI編輯器206
16.3.2 使用UI編輯器的步驟 207
16.4 UI界面元素209
16.4.1 基本控制項 209
16.4.2 容器控制項 211
16.4.3 控制項屬性 212
16.5 自定義UI實例 213
16.5.1 組合內置控制項 213
16.5.2 添加組到內置選項卡 215
16.5.3 創建新選項卡 216
第17章 創建工作表窗體 218
17.1 工作表窗體的概念 218
17.2 認識控制項 219
17.2.1 控制項分類 219
17.2.2 向工作表添加控制項 220
17.2.3 操作工作表控制項 220
17.3 使用表單控制項 221
17.3.1 按鈕控制項 221
17.3.2 組合框控制項 222
17.3.3 複選框控制項 224
17.3.4 數值調節鈕控制項 225
17.3.5 列表框控制項 225
17.3.6 單選框控制項 226
17.3.7 分組框控制項 227
17.3.8 標籤控制項 228
17.3.9 滾動條控制項 229
17.4 設計讀者意見卡230
17.5 使用ActiveX控制項 232
17.5.1 添加ActiveX控制項 232
17.5.2 操作ActiveX控制項 233
17.5.3 設定ActiveX控制項屬性 234
17.6 ActiveX控制項實例234
第18章 自定義窗體 236
18.1 用戶窗體概述 236
18.1.1 認識用戶窗體 236
18.1.2 用戶窗體的相關概念 236
18.2 新建窗體 237
18.2.1 新建窗體的步驟 237
18.2.2 向窗體添加控制項 237
18.2.3 設定控制項屬性 238
18.2.4 編寫事件代碼 239
18.2.5 調試運行窗體 240
18.3 控制窗體 240
18.3.1 設定窗體的屬性 240
18.3.2 窗體的方法 242
18.3.3 窗體的事件 243
18.4“工具箱”控制項簡介243
18.4.1 控制項工具箱 243
18.4.2 控制項的共有屬性 244
18.5 調整窗體中的控制項 245
18.5.1 設定控制項大小 245
18.5.2 設定控制項布局 246
18.5.3 設定Tab鍵順序 247
第19章 使用標準控制項 248
19.1 命令按鈕 248
19.1.1 命令按鈕常用屬性 248
19.1.2 命令按鈕常用事件 248
19.1.3 按鈕實例——更換標題文字 249
19.2 標籤 249
19.2.1 標籤常用屬性 250
19.2.2 標籤事件 251
19.3 文本框251
19.3.1 文本框常用屬性 251
19.3.2 文本框常用事件 252
19.3.3 文本框實例——登錄窗體 252
19.4 複選框253
19.4.1 複選框屬性 254
19.4.2 複選框事件 254
19.4.3 複選框實例——設定字型 254
19.5 單選框255
19.5.1 單選框常用屬性 255
19.5.2 單選框常用事件 255
19.5.3 單選框實例——設定窗體背景圖片 255
19.6 列表框256
19.6.1 列表框常用屬性 257
19.6.2 列表框常用方法 258
19.6.3 列表框常用事件 259
19.6.4 列表框實例——商品選擇窗體 259
19.7 組合框261
19.7.1 組合框常用屬性 261
19.7.2 組合框常用方法 261
19.7.3 組合框常用事件 261
19.7.4 組合框實例——選單分類顯示 261
19.8 圖像 263
19.8.1 圖像控制項屬性 263
19.8.2 圖像控制項事件 264
19.8.3 圖像實例——紅綠燈 264
19.9 滾動條266
19.9.1 滾動條常用屬性 266
19.9.2 滾動條常用事件 266
19.9.3 滾動條實例——調色器 267
19.10 數值調節鈕 268
19.10.1 數值調節鈕常用屬性 268
19.10.2 數值調節鈕常用事件 268
19.10.3 數值調節鈕實例——彩票選號 269
19.11 多頁 270
19.11.1 多頁控制項常用屬性271
19.11.2 多頁控制項常用事件272
19.11.3 多頁實例——旅客登記272
19.12 RefEdit 275
19.12.1 RefEdit常用屬性 275
19.12.2 RefEdit實例——設定指定區域背景色275
19.13 TabStrip 276
19.13.1 TabStrip控制項的組成 277
19.13.2 TabStrip控制項實例 277
第20章 使用ActiveX控制項279
20.1 添加ActiveX控制項 279
20.2 使用圖像列表控制項 280
20.2.1 ImageList的構成 280
20.2.2 ImageList的屬性和方法280
20.2.3 添加圖像到ImageList控制項 281
20.2.4 改進的紅綠燈窗體 282
20.3 使用樹形視圖控制項 283
20.3.1 TreeView的構成 283
20.3.2 TreeView常用屬性 283
20.3.3 TreeView常用方法 285
20.3.4 TreeView常用事件 286
20.3.5 改進的選單分類顯示 286
20.4 使用列表視圖控制項 291
20.4.1 列表視圖的構成 291
20.4.2 ListView常用屬性 291
20.4.3 設定ListView控制項的屬性 292
20.4.4 ListView常用事件 293
20.4.5 模擬控制臺界面 293
第21章 使用內置對話框 296
21.1 使用輸入框296
21.1.1 使用InputBox方法 296
21.1.2 使用GetOpenFilename方法 297
21.1.3 使用GetSaveAsFilename方法299
21.2 使用內置對話框300
21.2.1 顯示內置對話框 300
21.2.2 設定內置對話框的參數 302
21.2.3 獲取內置對話框的選擇 303
第22章 使用VBA控制圖表 304
22.1 圖表對象 304
22.1.1 圖表位置 304
22.1.2 Chart對象模型305
22.1.3 圖表對象常用屬性和方法 305
22.2 錄製圖表宏308
22.2.1 錄製創建圖表的宏 309
22.2.2 查看宏代碼 311
22.3 使用VBA創建圖表 311
22.4 常用圖表事件 313
22.4.1 圖表工作表事件 314
22.4.2 嵌入圖表事件 314
22.5 認識數據透視表316
22.5.1 創建數據透視表 316
22.5.2 查看數據透視表宏代碼 318
22.6 了解數據透視表對象318
22.6.1 快取對象 318
22.6.2 數據透視表對象 319
22.6.3 欄位對象 319
22.6.4 數據項對象 320
第5部分 擴展應用程式
第23章 Excel載入宏322
23.1 載入宏的概念 322
23.1.1 載入宏的用途 322
23.1.2 載入宏的類型 322
23.2 管理載入宏323
23.2.1 載入載入宏 323
23.2.2 卸載載入宏 324
23.3 創建載入宏324
23.3.1 創建表格 324
23.3.2 編寫代碼 325
23.3.3 測試宏功能 328
23.3.4 保存為載入宏 328
23.4 使用載入宏330
23.4.1 載入自定義載入宏 330
23.4.2 調用載入宏的功能 331
第24章 使用類模組 333
24.1 類的概念 333
24.1.1 了解類 333
24.1.2 類的作用 333
24.1.3 類的預備知識 334
24.2 創建類334
24.2.1 建立對象類 335
24.2.2 建立屬性 335
24.2.3 創建PropertyGet過程 336
24.2.4 創建PropertyLet過程 337
24.2.5 創建對象類的方法 338
24.2.6 類模組的事件 338
24.3 使用類模組創建對象339
24.3.1 設計新增員工窗體 339
24.3.2 設計調整員工部門窗體 341
24.3.3 設計調整工資窗體 341
24.3.4 測試程式功能 342
第25章 調用API344
25.1 API概述 344
25.1.1 API簡介 344
25.1.2 API基礎 344
25.2 在Excel中使用API 345
25.2.1 API函式聲明 345
25.2.2 查找API函式 346
25.2.3 使用API函式 349
25.3 操作註冊表350
25.3.1 註冊表結構 350
25.3.2 使用VBA函式訪問註冊表 351
25.3.3 使用API函式創建註冊表鍵 352
25.4 獲取系統信息 354
25.4.1 獲取記憶體狀態 354
25.4.2 獲取鍵盤信息 356
第6部分 應用程式整合
第26章 資料庫編程 360
26.1 資料庫概述360
26.1.1 資料庫的構成 360
26.1.2 訪問資料庫 361
26.2 使用MSQuery檢索外部數據 362
26.2.1 了解MSQuery362
26.2.2 連線數據源 362
26.2.3 使用查詢嚮導定義查詢 364
26.2.4 在Excel中處理數據365
26.3 結構化查詢語言365
26.3.1 結構化查詢簡介 366
26.3.2 SQL查詢數據 366
26.3.3 SQL更新數據 369
26.4 ADO數據訪問 370
26.4.1 數據訪問方法 370
26.4.2 ADO對象模型 370
26.4.3 使用ADO存取數據371
26.5 資料庫編程實例374
第27章 使用檔案對象模型 379
27.1 檔案對象模型簡介 379
27.2 創建FSO對象 379
27.2.1 添加FSO對象模型引用 380
27.2.2 創建FSO對象的方法 380
27.3 操作驅動器381
27.3.1 Drive對象的屬性 381
27.3.2 查詢磁碟信息 381
27.3.3 查詢各硬碟的剩餘空間 382
27.4 操作資料夾383
27.4.1 操作資料夾的方法 383
27.4.2 獲取資料夾信息 383
27.4.3 創建和刪除資料夾 384
27.4.4 列出資料夾名稱 384
27.4.5 刪除空資料夾 385
27.5 操作檔案 387
27.5.1 操作檔案的方法 387
27.5.2 創建文本檔案 387
27.5.3 添加數據 388
27.5.4 讀取數據 389
27.5.5 複製檔案 389
27.5.6 列出檔案名稱稱 389
第28章 控制Office其他程式 391
28.1 自動化技術簡介391
28.2 使用自動化技術391
28.2.1 引用服務程式 391
28.2.2 瀏覽對象庫的內容 392
28.2.3 創建自動化對象實例 393
28.3 自動生成通知書393
28.3.1 準備數據 393
28.3.2 調用自動化服務 395
28.3.3 使用代碼生成通知書 398
第7部分 Excel應用程式的調試與最佳化
第29章 Excel應用程式的安全400
29.1 用戶身份認證 400
29.2 原始碼安全403
29.2.1 保護工程 404
29.2.2 使用動態程式庫 405
第30章 VBA程式調試 411
30.1 使用VBE調試程式 411
30.1.1 VBA程式的運行方式 411
30.1.2 設定斷點 412
30.1.3 監視表達式 413
30.1.4 使用“本地”視窗 415
30.1.5 使用“立即”視窗 415
30.2 條件編譯 416
30.2.1 什麼是條件編譯 416
30.2.2 條件編譯語句 416
30.2.3 使用條件編譯 417
第31章 VBA程式最佳化 419
31.1 程式最佳化的概念419
31.2 代碼最佳化 419
31.2.1 代碼最佳化的作用 420
31.2.2 最佳化變數 420
31.2.3 最佳化循環 423
31.2.4 最佳化對象引用 424
31.2.5 其他代碼最佳化方法 426
第32章 VBA錯誤處理 428
32.1 理解VBA錯誤 428
32.1.1 錯誤分類 428
32.1.2 錯誤處理過程 428
32.2 錯誤捕獲及處理428
32.2.1 可捕獲的錯誤 429
32.2.2 On Error語句 429
32.2.3 Resume語句 431
32.2.4 錯誤處理層次結構 432
32.3 錯誤處理實例 433
第33章 製作幫助系統 435
33.1 簡單的幫助信息435
33.1.1 用批註顯示幫助信息 435
33.1.2 使用文本框顯示幫助信息 436
33.2 製作幫助檔案 436
33.2.1 計畫幫助檔案 437
33.2.2 創建項目檔案 437
33.2.3 創建目錄檔案 438
33.2.4 創建索引檔案 440
33.2.5 編譯生成幫助檔案 441
33.2.6 打開幫助檔案 442
33.3 為應用程式設定幫助檔案442
第8部分 綜合應用程式設計
第34章 製作人事管理系統 446
34.1 系統描述 446
34.1.1 設計思路 446
34.1.2 關鍵技術:用戶窗體的創建和控制 446
34.1.3 關鍵技術:使用高級篩選查找數據 447
34.1.4 關鍵技術:自定義功能區 448
34.2 設計人事管理表格 448
34.3 設計登錄窗體 450
34.3.1 設計登錄界面 450
34.3.2 設計登錄窗體的代碼 450
34.3.3 測試登錄窗體的步驟 453
34.4 設計人事信息窗體 454
34.4.1 設計窗體界面 454
34.4.2 設計人事信息管理代碼 454
34.4.3 測試人事信息管理窗體 461
34.5 設計員工信息查詢 462
34.5.1 設計數據有效性代碼 462
34.5.2 設計查詢代碼 465
34.6 自定義功能區 466
34.6.1 創建“人事信息”選項卡 466
34.6.2 設計功能區按鈕代碼 471
34.6.3 測試自定義功能區 472
第35章 製作庫存管理系統(2010版) 474
35.1 系統描述 474
35.1.1 設計思路 474
35.1.2 關鍵技術:設定工作表滾動區域 475
35.1.3 關鍵技術:End屬性 475
35.1.4 關鍵技術:Names集合對象 476
35.2 設計基礎設定模組 476
35.2.1 商品信息管理 476
35.2.2 部門信息管理 480
35.2.3 供應商信息管理 481
35.3 設計庫存管理模組 483
35.3.1 設計商品清單列表 483
35.3.2 設計入庫單 484
35.3.3 設計出庫單 491
35.3.4 設計入庫/出庫明細表 496
35.3.5 設計庫存匯總 497
35.4 設計賬務處理模組 499
35.4.1 設計庫存明細賬 499
35.4.2 設計應付賬管理 505
35.4.3 設計盤點表 507
35.4.4 設計庫存報警 508
35.5 用功能區集合各模組510
35.5.1 創建“庫存管理”選項卡 511
35.5.2 設計功能區按鈕代碼 514
35.6 設計主界面及工作簿事件516
35.6.1 設計主界面 517
35.6.2 設計工作簿的Open事件代碼518
35.6.3 設計工作簿的BeforeClose事件代碼 518
附錄 在Excel2003中使用宏 519
書本前言
Excel是Microsoft Office的組件之一,該軟體主要用來對表格數據進行保存、分析、統計等操作,是辦公人員最常用的軟體之一。為了讓Excel發揮最大功效,可以藉助VBA開發各種電子表格應用程式。使用VBA可以為Excel應用程式提供新的功能或增強現有的功能,從而減少在Excel中進行操作所需的工作量。
本書特色
專業性強:市場上關於VBA類的書籍,大都只局限於介紹VBA的相關語法。本書除了詳細介紹VBA相關知識外,還介紹了使用VBA調用API、打開資料庫、控制其他Office應用程式等內容,使讀者開發的Excel應用程式更專業。
代碼原理剖析:大多數VBA實例類書籍只是羅列實例原始碼。本書在涉及大段原始碼的同時,都給出了詳細的流程圖,讓讀者先看清流程,做到心中有數後,再逐行閱讀代碼。
知識點和實例相結合:本書每個知識點都以實例代碼來講解,最後還介紹了兩個實用的綜合實例。
本書對Excel 2010新增功能,以及實際開發應用程式中經常要用到而其他書籍很少介紹的功能進行了詳細的介紹。例如以下3個功能。
自定義Excel 2010的功能區。在第16章詳細介紹了使用XML自定義功能區的方法。
將VBA核心代碼封裝為DLL。在第29章介紹了用VB封裝Excel VBA代碼的方法。
製作幫助系統。在第33章介紹了為Excel應用程式用戶提供幫助的各種方法。
讀者對象
本書要求讀者已經能夠熟練使用Excel,並對Excel 2010的新增功能有一定的使用經驗。在閱讀本書前,讀者應至少已經掌握了以下Excel操作技能。
格式化工作表。
命令單元格區域。
使用公式和函式。
創建圖表。
管理工作簿。
管理工作表。
本書適合如下讀者閱讀。
有一定Excel基礎的愛好者。
公司辦公人員。
人力資源管理人員。
財務管理人員。
學校的老師和學生。
數據統計和分析人員。
企業和相關單位的培訓班學員。
書本慨括
本書包括8部分共35章。
第1部分為Excel應用程式設計簡介,包括第1~4章,分別介紹VBA與Excel應用程式的概念、宏的錄製、VBE開發環境的使用等知識。第4章以創建一個“九九乘法”表為例,演示了在Excel中使用VBA編寫程式的過程。
第2部分為VBA程式設計基礎,包括第5~10章,系統介紹了VBA語言的基礎知識,包括VBA程式的基本元素、語句的書寫規範、VBA處理的數據類型,以及程式的結構等相關知識。
第3部分為Excel對象模型,包括第11~15章,詳細介紹了Excel中常用對象的屬性、方法和事件的使用方法。
第4部分為用戶界面設計,包括第16~22章,介紹了在Excel中開發應用程式的用戶界面設計知識,包括自定義Excel 2010功能區、創建工作表窗體、創建用戶窗體、使用ActiveX控制項、使用內置對話框、控制VBA圖表等內容。
第5部分為擴展應用程式,包括第23~25章,分別介紹了載入宏的創建和使用、使用類模組創建自己的對象、調用Windows的API函式等內容。
第6部分為應用程式整合,包括第26~28章,分別介紹了Excel訪問資料庫中的數據、使用檔案對象模型操作檔案系統、控制Office其他程式的方法等內容。
第7部分為Excel應用程式的調試與最佳化,包括第29~33章,分別介紹了應用程式安全知識、程式調試方法、程式最佳化技巧、錯誤處理方法,以及用戶幫助系統的製作等內容。
第8部分為綜合應用程式設計,包括第34~35章,分別介紹了人事管理系統和庫存管理系統(2010版)兩個綜合實例的設計過程。讀者可以通過這兩個實例進一步鞏固前面所學的知識。