隨著社會經濟和信息技術的飛速發展,人們每天接觸到的數據量與日俱增。無論是個人還是企業,管理好信息數據都是一項非常重要的工作。作為Miscrosoft Office套裝軟件之一,Excel主要用來制作各種數據表格,其數據排序、篩選等功能是其他軟件無法比擬的。Excel擁有強大的數據處理功能,通過它可以非常迅速地管理多種數據。Excel對于初級用戶來說,是一款非常容易上手的制表軟件,很多用戶都需要每天通過Excel制作各種各樣的數據表格。同時,其便捷而強大的數據處理功能也吸引著高手們不斷深入挖掘,用以完成復雜的數據處理、數據分析和預測工作。
使用Excel進行數據處理時,經常會遇到需要重復步驟來完成制表的情況,每次都重復相同的步驟會非常麻煩,而通過Excel的宏功能可以非常方便地自動完成機械重復式的工作。宏可以記錄實際使用中的操作步驟,并且可以自動執行這些步驟。例如,在對某個單元格區域的格式進行多項設置時,可以將“多項設置”操作錄制成宏,以后通過錄制的宏就能快速完成格式設置。但是通過錄制功能實現的宏有很多缺點,如使用了沒有必要的代碼、無法執行循環和分支操作、無法與用戶交互等。此時,用戶可以使用VBA編程語言來直接編寫宏。VBA的功能非常強大,例如,需要從幾萬個數據中刪除重復記錄時,無論是通過排序、篩選等功能,還是通過錄制宏都是無法實現的,而通過VBA編程制作的宏,只需要少量的代碼即可實現上述功能。
學習VBA編程最有效的方法是:先系統學習相關的理論,再模仿高手們制作的實例,最后形成自己獨特的編程能力。為了幫助用戶快速學習VBA,筆者精心從生活和工作中抽取了若干典型的實例,用戶可通過分析實例中的代碼,培養編程能力。同時,這些實例應用非常廣泛,用戶將這些實例稍加修改后即可形成自己的作品。本書以Excel 2010為平臺,通過眾多實例展現Excel 2010強大的數據處理與分析功能,從未接觸過VBA開發的讀者可順利步入VBA開發的殿堂,已了解VBA開發的讀者可積累更多的實戰經驗。本書的內容并不僅僅局限于Excel 2010,部分實例中還將Excel 2010與數據庫結合起來,極大地提高了數據處理與分析的速度。而Excel 2010的工作簿文件本身也可以看作一個數據庫,在本書中也有相應實例展現如何操作Excel數據庫文件。
本書的特點
(1)循序漸進,由淺入深。
本書采取由淺入深的方式展開。本書前面3章是基礎章節,介紹Excel
VBA開發的基礎知識,包括熟悉VBE開發環境、VBA程序設計基礎和Excel對象模型。在實例的安排上,前面的章節講述的基本上是較為簡單的實例,復雜的實例都放置在后面的章節。
(2)案例實用,內容豐富。
本書中所講述的實例都具有很強的應用價值,實例用途各不相同,其開發方式也不一樣。部分實例之間的開發方式具有較強的可比性,用戶可以根據需要及各開發方式的優缺點進行選擇。在實例選材上,也并不單一地局限為商業應用方向的實例。
(3)知識點提示,加深理解。
在本書的實例章節,基本上都會有知識點提示。這些知識點都是對應章節中使用到的難點與重點知識。了解并熟練掌握這些知識不僅有助于理解實例,還有助于豐富讀者的開發思路。將知識點安排在每個章節的前面,也便于讀者及時查找疑點問題,加深理解。
(4)注釋詳細,圖文并茂。
本書的程序代碼使用統一的格式標識,代碼塊的每一句后面都會標識注釋,對該語句的作用加以說明。對于比較復雜的過程或函數,為了能夠讓讀者更容易理解其意圖,在講述中不僅通過文字說明其運行流程,還通過流程圖展示其過程。其中的一些重點與難點都會于其中加以講述。
(5)配有光盤,加速學習。
本書配套光盤中包含了書中相關操作內容以及各個實例的源文件,建議讀者先觀看隨書贈送的光盤視頻,再研讀書中的實例代碼,最后再根據光盤中的實例文件分析和制作相關實例。
本書的內容安排
第1章:本章將引導讀者步入VBA開發殿堂,其內容包括熟悉VBE開發環境、調試工具和認識宏。
第2章:本章介紹VBA程序設計基礎。內容包括數據類型、常量、變量、過程與函數、表達式與運算符、結構語句、常見函數與語句和數組。
第3章:本章對Excel對象模型進行了比較簡單的介紹。由于Excel對象模型包含的對象繁多,本章只講述4個主要對象的常用屬性和方法,分別是應用程序對象Application、工作簿對象WorkBook、工作表對象Worksheet和單元格區域對象Range。
第4~9章:這一部分包含了6個較簡單的實例,實例的復雜程度依次呈上升趨勢。實例涉及客戶管理系統、學生成績管理系統、固定資產管理系統、進銷存管理系統、員工管理系統和商場銷售管理系統。涉及的知識點包括窗體的設計、工作表界面設計、數據有效性、自動篩選、單元格控制、自定義菜單、名稱、工作表函數應用、加載宏等。
第10~12章:這一部分包含了3個較為復雜的實例,大部分都用到了數據庫知識。這3個實例分別是學生座位編排系統、合同管理系統、拆分與備份工作簿系統。涉及的知識點包括工作表可見性、保護與撤銷工作表保護、DAO/ADO數據庫對象、SQL查詢和ADOX對象。
本書適合的讀者
VBA入門與有一定經驗的讀者
公司管理人員
實驗室、研究所的數據分析處理人員
會計、審計、統計等工作人員
大中專院校學生
關于作者
喬志會,碩士研究生,畢業于中北大學計算機應用技術專業,2002年至今就職于中北大學。長期從事計算機教學和計算機軟件開發相關工作,參與開發了多項計算機仿真相關的項目,先后在國家級、省級學術期刊上發表3篇計算機方面學術論文。
同時參與本書編寫的還有宮磊、谷原野、黃其武、李延琨、林家昌、劉林建、孟富貴、孫雪明、王世平、文明、徐增年、銀森騎、張家磊、周偉杰、朱玲、張昆,由于編寫過程中相對匆忙,如果存在錯誤,請不吝指出。
編 者
2013年8月
喬志會,碩士研究生,畢業于中北大學計算機應用技術專業,2002年至今就職于中北大學。長期從事計算機教學和計算機軟件開發相關工作,參與開發了多項計算機仿真相關的項目,先后在國家級、省級學術期刊上發表3篇計算機方面學術論文。
第1篇 基 礎 篇
第1章 初識Excel 2010 VBA 2
1.1 VBA的功能 3
1.2 認識VBA編輯器(VBE) 4
1.2.1 VBE環境的設置 5
1.2.2 VBE編輯器工具欄 6
1.2.3 工程資源管理器 6
1.2.4 “屬性”面板 7
1.2.5 代碼窗口 8
1.2.6 對象瀏覽器 8
1.3 VBE調試工具 9
1.3.1 逐句調試 9
1.3.2 斷點設置 9
1.3.3 設置下一條語句 10
1.3.4 運行到光標 10
1.3.5 立即窗口 10
1.3.6 懸浮窗口 10
1.3.7 監視窗口 11
1.4 從宏開始學習VBA 11
1.4.1 了解宏 12
1.4.2 錄制宏實例 13
1.4.3 分析與編輯宏代碼 13
1.4.4 運行宏 14
第2章 VBA程序設計基礎 15
2.1 數據類型 16
2.1.1 數值型 17
2.1.2 字節型(Byte) 17
2.1.3 字符串型(String) 17
2.1.4 邏輯型(Boolean) 17
2.1.5 日期型(Date) 18
2.1.6 無符號型(Decimal) 18
2.1.7 變體型(Variant) 18
2.1.8 對象型(Object) 18
2.1.9 用戶自定義型 18
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 變量聲明 21
2.3.3 變量的作用范圍 22
2.4 認識過程與函數 23
2.4.1 Sub過程 24
2.4.2 Function過程 25
2.5 表達式與運算符 25
2.5.1 算術表達式 25
2.5.2 比較運算符 26
2.5.3 邏輯運算符 26
2.5.4 連接運算符 27
2.5.5 特殊運算符 27
2.6 結構語句 28
2.6.1 賦值語句 28
2.6.2 輸出語句 29
2.6.3 If…Then語句 29
2.6.4 If…Then…Else語句以及變種 30
2.6.5 Select Case多分支語句 31
2.6.6 Do…Loop語句 33
2.6.7 For…Next語句 35
2.6.8 For Each…Next語句 36
2.6.9 跳轉語句 37
2.7 常見函數與語句 38
2.7.1 注釋語句 38
2.7.2 InputBox函數 39
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章 Excel 2010 VBA對象模型 45
3.1 面向對象編程 46
3.1.1 對象的屬性 46
3.1.2 對象的方法 47
3.1.3 對象的事件 47
3.2 Application對象 48
3.2.1 Application對象的常用屬性 48
3.2.2 Application對象的常用方法 49
3.3 Workbook對象 49
3.3.1 Workbook對象的常用屬性 50
3.3.2 Workbook對象的常用方法 50
3.4 Worksheet對象 50
3.4.1 Worksheet對象的常用屬性 50
3.4.2 Worksheet對象的常用方法 51
3.5 Range對象 52
3.5.1 Range對象的引用方式 52
3.5.2 Range對象的常用屬性 52
3.5.3 Range對象的常用方法 53
第2篇 簡單實例篇
第4章 客戶管理系統 56
4.1 系統概述 57
4.1.1 設計思路 57
4.1.2 知識點一:顯示“開發工具”選項卡 57
4.1.3 知識點二:開啟有代碼的工作簿 58
4.2 首頁設計 59
4.2.1 首頁界面設計 60
4.2.2 標簽控件顯示效果變化代碼 63
4.2.3 標簽按鈕單擊事件代碼 65
4.3 “客戶資料管理”窗體設計 65
4.3.1 窗體界面設計 66
4.3.2 窗體初始化代碼設計 67
4.3.3 “新增”按鈕代碼設計 69
4.3.4 “查找”按鈕代碼設計 70
4.3.5 檢查拼音函數代碼設計 71
4.3.6 拼音頭字母函數代碼設計 72
4.3.7 “修改”按鈕代碼設計 74
4.3.8 “刪除”按鈕代碼設計 74
4.3.9 “查看客戶表”按鈕代碼設計 76
4.3.10 瀏覽按鈕代碼設計 76
4.3.11 瀏覽按鈕狀態過程代碼設計 78
4.4 “客戶資料查詢導出”窗體設計 78
4.4.1 窗體界面設計 79
4.4.2 窗體初始化代碼設計 80
4.4.3 myCountry與myList過程代碼設計 82
4.4.4 按區域篩選客戶代碼設計 82
4.4.5 myListView過程代碼設計 84
4.4.6 選項按鈕、文本框和復合框代碼設計 85
4.4.7 “開始查詢”按鈕單擊事件代碼設計 87
4.4.8 輸出報表過程代碼設計 88
4.5 系統測試 88
4.5.1 “客戶資料管理”窗體測試 89
4.5.2 “客戶資料查詢導出”窗體測試 90
第5章 學生成績管理系統 92
5.1 系統概述 93
5.1.1 設計思路 93
5.1.2 知識點一:數據有效性 94
5.1.3 知識點二:自動篩選 95
5.1.4 知識點三:凍結窗格 96
5.1.5 知識點四:End屬性 97
5.1.6 知識點五:Sort方法 97
5.2 首頁設計 98
5.3 基本資料建立模塊設計 100
5.3.1 學生名單表設計 100
5.3.2 教師與科目設置表設計 103
5.3.3 年級班級設置表設計 104
5.4 成績輸入與分析模塊設計 105
5.4.1 成績輸入模塊設計 106
5.4.2 年級排名模塊設計 110
5.4.3 成績再處理模塊設計 113
5.5 查詢模塊設計 114
5.5.1 班級學生查詢設計 114
5.5.2 教師查詢設計 115
5.5.3 班級成績查詢設計 116
5.6 窗體設計 117
5.6.1 “成績查詢”窗體設計 117
5.6.2 “選擇再處理成績表”窗體設計 119
5.6.3 “教師查詢”窗體設計 120
5.6.4 “學生查詢”窗體設計 122
5.6.5 “輸入成績班級的年級與班級名”窗體設計 125
5.7 系統測試 127
5.7.1 建立班級成績 128
5.7.2 生成年級成績排名 129
第6章 固定資產管理系統 131
6.1 系統概述 132
6.1.1 設計思路 132
6.1.2 知識點一:設置單元格條件格式 133
6.1.3 知識點二:SendKey方法 134
6.2 首頁界面設計 134
6.2.1 首頁組成元素 135
6.2.2 首頁建立步驟 135
6.3 其他無代碼表設計 136
6.3.1 單項固定資產折舊明細模板表設計 137
6.3.2 設置表設計 137
6.4 固定資產登記表設計 138
6.4.1 表界面設計 138
6.4.2 設置單元格條件格式 139
6.4.3 表初始化代碼 139
6.4.4 工作表雙擊事件代碼 140
6.4.5 固定資產保存 141
6.5 固定資產登記統計表設計 143
6.5.1 界面設計 143
6.5.2 代碼設計 144
6.6 固定資產折舊與現值統計表設計 144
6.6.1 表界面設計 145
6.6.2 表代碼設計 145
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 “資產來源”頁事件代碼設計 158
6.8 計提日期窗體設計 159
6.8.1 窗體界面設計 159
6.8.2 窗體代碼設計 160
6.9 進度窗體設計 161
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 窗體初始化與卸載事件代碼設計 166
6.11.3 窗體控件事件代碼設計 169
6.12 公共代碼模塊設計 169
6.12.1 公共變量模塊 169
6.12.2 跳轉按鈕宏過程代碼設計 170
6.12.3 資產類別拼音函數代碼設計 171
6.12.4 拼音頭字母函數代碼設計 172
6.12.5 獲取資產編號函數代碼設計 173
6.12.6 計提折舊過程代碼設計 175
6.12.7 是否計提函數代碼設計 177
6.13 系統測試 178
6.13.1 固定資產登記 178
6.13.2 查看固定資產信息 180
6.13.3 計提折舊 180
6.13.4 固定資產折舊與現值統計 181
第7章 進銷存管理系統 182
7.1 系統概述 183
7.1.1 設計思路 183
7.1.2 知識點:自定義菜單 184
7.2 Access數據庫設計 184
7.2.1 數據表設計 184
7.2.2 建立數據庫代碼 186
7.3 系統自定義菜單 188
7.3.1 子菜單設計 188
7.3.2 自定義菜單代碼設計 189
7.4 系統管理模塊設計 193
7.4.1 系統公共變量 193
7.4.2 用戶登錄模塊設計 194
7.4.3 修改用戶名模塊設計 196
7.4.4 修改密碼模塊設計 197
7.4.5 用戶權限管理模塊設計 199
7.5 “供貨商資料管理”窗體設計 201
7.5.1 窗體界面設計 201
7.5.2 窗體初始化與關閉事件代碼設計 202
7.5.3 “保存”按鈕單擊事件代碼設計 203
7.5.4 “新建”按鈕單擊事件代碼設計 205
7.5.5 “修改”按鈕單擊事件代碼設計 205
7.5.6 “刪除”按鈕單擊事件代碼設計 206
7.5.7 “查詢”按鈕單擊事件代碼設計 206
7.5.8 ListView控件項目單擊事件代碼設計 208
7.5.9 查詢與顯示供貨商信息過程代碼設計 208
7.5.10 myListView過程代碼設計 209
7.6 “商品資料管理”窗體設計 210
7.6.1 窗體界面設計 210
7.6.2 窗體初始化與關閉事件代碼設計 211
7.6.3 “保存”按鈕單擊事件代碼設計 212
7.6.4 “新建”按鈕單擊事件代碼設計 214
7.6.5 “修改”按鈕單擊事件代碼設計 214
7.6.6 “刪除”按鈕單擊事件代碼設計 215
7.6.7 “查詢”按鈕單擊事件代碼設計 215
7.6.8 ListView控件項目單擊事件代碼設計 216
7.6.9 查詢與顯示商品信息過程代碼設計 217
7.6.10 myListView過程代碼設計 217
7.7 “進貨資料管理”窗體設計 219
7.7.1 窗體界面設計 219
7.7.2 窗體初始化與關閉代碼設計 220
7.7.3 “保存”按鈕單擊事件代碼設計 221
7.7.4 “進貨數量”文本框事件代碼設計 223
7.7.5 “商品編碼”復合框事件代碼設計 225
7.7.6 “新建”按鈕單擊事件代碼設計 225
7.7.7 “修改”按鈕單擊事件代碼設計 226
7.7.8 “刪除”按鈕單擊事件代碼設計 227
7.7.9 “查詢”按鈕單擊事件代碼設計 227
7.7.10 ListView控件項目單擊事件代碼設計 228
7.7.11 查詢與顯示進貨信息過程代碼設計 228
7.7.12 myListView過程代碼設計 229
7.8 “銷售資料管理”窗體設計 230
7.8.1 窗體界面設計 230
7.8.2 窗體初始化與關閉事件代碼設計 231
7.8.3 “保存”按鈕單擊事件代碼設計 232
7.8.4 “商品編碼”復合框事件代碼設計 234
7.8.5 “銷售數量”文本框事件代碼設計 235
7.8.6 “新建”按鈕單擊事件代碼設計 236
7.8.7 “修改”按鈕單擊事件代碼設計 236
7.8.8 “刪除”按鈕單擊事件代碼設計 237
7.8.9 “查詢”按鈕單擊事件代碼設計 238
7.8.10 ListView控件項目單擊事件代碼設計 239
7.8.11 查詢與顯示銷售信息過程代碼設計 239
7.8.12 myListView過程代碼設計 240
7.9 “銷售統計分析”窗體設計 241
7.9.1 窗體初始化與關閉事件代碼設計 242
7.9.2 查詢商品名稱過程代碼設計 243
7.9.3 商品名稱復合框過程代碼設計 243
7.9.4 復合框事件代碼設計 243
7.9.5 按鈕單擊事件代碼設計 245
7.10 庫存管理模塊設計 247
7.10.1 窗體界面設計 247
7.10.2 窗體初始化過程代碼設計 248
7.10.3 “關閉”按鈕代碼設計 251
7.11 “資料查詢與導出”窗體設計 251
7.11.1 窗體界面設計 252
7.11.2 窗體初始化與關閉過程代碼設計 252
7.11.3 “查詢項目”復合框代碼設計 254
7.11.4 “開始查詢”按鈕代碼設計 255
7.11.5 “數據導出”按鈕代碼設計 257
7.11.6 “選擇要查詢的信息種類”復合框代碼設計 258
7.11.7 “運算符”復合框事件代碼設計 259
7.11.8 “重設條件”按鈕代碼設計 259
7.12 系統測試 260
7.12.1 進貨測試 260
7.12.2 銷售測試 261
7.12.3 查詢與導出測試 262
第8章 員工管理系統 263
8.1 系統概論 264
8.1.1 設計思路 264
8.1.2 知識點一:名稱 264
8.1.3 知識點二:使用OnTime方法 265
8.1.4 知識點三:Range對象的Sort方法 265
8.1.5 知識點四:CountIf函數 266
8.1.6 知識點五:DateDiff函數 266
8.2 工作簿對象與表設計 267
8.2.1 主頁表 267
8.2.2 員工檔案卡表界面設計 268
8.2.3 員工檔案卡表代碼設計 269
8.2.4 請假登記表設計 273
8.2.5 考勤表設計 273
8.2.6 庫表設計 273
8.2.7 參數表設計 274
8.2.8 工作簿對象設計 274
8.3 設計員工檔案卡模塊代碼 274
8.3.1 變量定義 275
8.3.2 記錄新增操作 275
8.3.3 記錄修改操作 276
8.3.4 記錄刪除操作 276
8.3.5 記錄保存操作 278
8.3.6 記錄復制粘貼操作 279
8.3.7 Sheet_Formula過程 280
8.3.8 記錄瀏覽操作 281
8.3.9 記錄的查詢操作 283
8.3.10 鎖定與解鎖工作表過程 286
8.3.11 隱藏批注與顯示圖片過程 287
8.4 考勤簽到模塊代碼設計 288
8.4.1 考勤簽到窗體設計 288
8.4.2 考勤簽到模塊執行流程與初始化代碼 289
8.4.3 設計計時器代碼 290
8.4.4 設計檢查考勤月份代碼 291
8.4.5 設計檢查考勤表員工資料代碼 293
8.4.6 設計標記員工出勤代碼 294
8.4.7 設計窗體其他功能代碼 297
8.5 請假登記模塊代碼設計 298
8.5.1 “請假登記”窗體界面設計 299
8.5.2 窗體初始化 299
8.5.3 年月日復合框相關代碼設計 300
8.5.4 確認請假登記代碼設計 303
8.6 系統測試 306
8.6.1 員工資料登記 307
8.6.2 員工考勤登記 308
8.6.3 員工請假登記 308
第9章 商場銷售數據管理系統 309
9.1 系統概論 310
9.2 數據表設計 311
9.2.1 基本信息資料表設計 311
9.2.2 商品銷售數據資料表設計 313
9.3 公共模塊代碼設計 314
9.3.1 公共變量模塊設計 314
9.3.2 啟動窗體公共過程代碼設計 315
9.3.3 總查詢字符串設置過程 316
9.3.4 數據庫建立與更新過程代碼設計 318
9.3.5 壓縮數據庫代碼設計 322
9.4 基本信息設置窗體設計 322
9.4.1 窗體界面設計 323
9.4.2 窗體初始化代碼 325
9.4.3 “新建”按鈕代碼設計 327
9.4.4 “編輯”按鈕代碼設計 330
9.4.5 “刪除”按鈕代碼設計 332
9.4.6 ListView控件代碼設計 332
9.5 商品銷售數據登記窗體設計 333
9.5.1 窗體界面設計 333
9.5.2 窗體初始化、激活與卸載代碼設計 335
9.5.3 復合框與文本框改變事件代碼設計 336
9.5.4 按鈕單擊事件代碼設計 337
9.5.5 刷新復合框過程代碼設計 340
9.6 查詢銷售數據設置窗體設計 342
9.7 查詢顯示窗體設計 351
9.7.1 窗體界面設計 351
9.7.2 窗體事件代碼設計 352
9.7.3 ListView控件事件代碼設計 354
9.7.4 “導出所有項”按鈕代碼設計 355
9.7.5 “重置”按鈕代碼設計 356
9.7.6 “僅顯示勾選項”按鈕代碼設計 356
9.7.7 “編輯”按鈕代碼設計 359
9.7.8 “關閉”按鈕代碼設計 359
9.8 編輯查詢條件窗體設計 360
9.8.1 窗體界面設計 360
9.8.2 窗體事件代碼設計 360
9.8.3 文本框改變事件 361
9.8.4 “確定”按鈕代碼設計 362
9.8.5 “關閉”按鈕代碼設計 362
9.9 系統測試 362
9.9.1 銷售數據輸入 363
9.9.2 查詢銷售數據 363
9.9.3 編輯銷售數據 364
第3篇 復雜實例篇
第10章 學生座位編排系統 366
10.1 系統概述 367
10.1.1 知識點一:合并單元格 367
10.1.2 知識點二:定義批注 368
10.1.3 知識點三:Split函數的使用 369
10.2 首頁設計 369
10.2.1 首頁界面設計 370
10.2.2 首頁代碼設計 373
10.2.3 “編排座位”宏代碼設計 373
10.3 學生表設計 377
10.3.1 學生表界面設計 377
10.3.2 學生表代碼設計 377
10.4 編排表設計 378
10.4.1 編排表界面設計 378
10.4.2 編排表代碼設計 378
10.5 “輔助輸入”窗體設計 380
10.5.1 窗體界面設計 380
10.5.2 窗體初始化代碼設計 381
10.5.3 “確認”按鈕單擊事件代碼設計 382
10.6 “講臺位置”窗體設計 383
10.6.1 窗體界面設計 383
10.6.2 窗體代碼設計 384
10.7 “交換位置”窗體設計 384
10.7.1 窗體界面設計 384
10.7.2 窗體代碼設計 385
10.8 “手動調整”窗體設計 385
10.8.1 窗體界面設計 386
10.8.2 窗體代碼設計 386
10.9 “行列設置”窗體設計 388
10.9.1 窗體界面設計 388
10.9.2 窗體代碼設計 389
10.10 系統測試 390
10.10.1 座位編排設置與自動排列座位 390
10.10.2 調整座位 391
第11章 合同管理系統 392
11.1 系統概論 393
11.1.1 知識點一:工作表的可見性 393
11.1.2 知識點二:隱藏或取消隱藏表 394
11.1.3 知識點三:設置或取消深度隱藏 394
11.1.4 知識點四:保護工作表與撤銷保護 395
11.2 數據表設計 396
11.3 首頁設計 397
11.3.1 首頁界面設計 397
11.3.2 首頁代碼設計 399
11.4 模塊代碼設計 400
11.4.1 公共變量模塊代碼設計 400
11.4.2 創建數據庫程序模塊代碼設計 400
11.5 “用戶登錄”窗體設計 402
11.5.1 窗體界面設計 402
11.5.2 窗體代碼設計 403
11.6 “修改用戶名”窗體設計 405
11.6.1 窗體界面設計 405
11.6.2 窗體代碼設計 405
11.7 “修改密碼”窗體設計 406
11.7.1 窗體界面設計 407
11.7.2 窗體代碼設計 407
11.8 “合同基本信息管理”窗體設計 409
11.8.1 窗體界面設計 409
11.8.2 窗體初始化與關閉事件代碼設計 411
11.8.3 復合框設置代碼設計 413
11.8.4 查詢、顯示合同基本信息過程代碼設計 413
11.8.5 顯示合同收費情況過程代碼設計 415
11.8.6 “添加類別”與“添加部門”按鈕代碼設計 416
11.8.7 “新合同”與“添加”按鈕代碼設計 417
11.8.8 “修改”按鈕代碼設計 420
11.8.9 “刪除”按鈕代碼設計 420
11.8.10 “查詢”按鈕代碼設計 421
11.8.11 瀏覽記錄按鈕組代碼設計 422
11.9 “合同收費信息管理”窗體設計 423
11.9.1 窗體界面設計 423
11.9.2 窗體初始化與關閉事件代碼設計 425
11.9.3 復合框設置代碼設計 426
11.9.4 查詢、顯示合同收費信息代碼設計 427
11.9.5 “添加類別”按鈕代碼設計 428
11.9.6 “新記錄”與“添加”按鈕代碼設計 429
11.9.7 “修改”按鈕代碼設計 432
11.9.8 “刪除”按鈕代碼設計 433
11.9.9 “查詢”按鈕代碼設計 433
11.9.10 ListView控件項目單擊事件代碼設計 435
11.10 “合同信息查詢與導出”窗體設計 435
11.10.1 窗體界面設計 435
11.10.2 窗體初始化與關閉事件代碼 437
11.10.3 復合框設置代碼設計 438
11.10.4 “重設條件”按鈕代碼設計 439
11.10.5 “開始查詢”按鈕代碼設計 440
11.10.6 “數據導出”按鈕代碼設計 441
11.10.7 清除顯示信息過程代碼設計 442
11.11 系統測試 443
11.11.1 “用戶登錄”窗體測試 443
11.11.2 “修改用戶名”窗體測試 443
11.11.3 “修改密碼”窗體測試 444
11.11.4 “合同基本信息管理”窗體測試 444
11.11.5 “合同信息查詢與導出”窗體測試 446
第12章 拆分與備份工作簿系統 447
12.1 系統概述 448
12.1.1 設計思路 448
12.1.2 知識點一:Excel 2010中裝載加載宏 449
12.1.3 知識點二:使用ADOX庫 450
12.2 數據庫表設計 451
12.3 工作簿與公共模塊代碼設計 452
12.3.1 工作簿對象代碼設計 452
12.3.2 公共變量與菜單按鈕代碼設計 453
12.3.3 刷新窗體語言顯示過程代碼設計 454
12.3.4 刷新工作簿列表過程代碼設計 455
12.3.5 保存選擇工作簿代碼設計 456
12.3.6 保存已選中工作簿過程代碼設計 457
12.3.7 合并工作簿過程代碼設計 458
12.3.8 鏈接字符串與工作簿名獲取過程代碼設計 462
12.4 “拆分工作簿”窗體設計 462
12.4.1 窗體界面設計 463
12.4.2 變量定義與窗體激活事件代碼設計 464
12.4.3 刷新List控件過程代碼設計 464
12.4.4 “瀏覽拆分工作簿”文本框與“瀏覽”按鈕代碼設計 465
12.4.5 “添加”按鈕單擊事件代碼設計 467
12.4.6 “組別”復合框改變事件代碼設計 468
12.4.7 “添加”按鈕單擊事件 469
12.4.8 “刪除”按鈕單擊事件代碼設計 470
12.4.9 “開始拆分”按鈕單擊事件代碼設計 471
12.4.10 文件后綴與保存文件名過程代碼設計 474
12.5 “選擇備份工作簿”窗體設計 474
12.5.1 窗體界面設計 474
12.5.2 窗體事件代碼設計 476
12.5.3 工作簿列表控件代碼設計 477
12.5.4 “勾選設置”與“語言設置”框架代碼設計 478
12.5.5 “打開”與“下一步”按鈕代碼設計 479
12.5.6 設置控件狀態過程代碼設計 480
12.6 “選擇備份工作表”窗體設計 481
12.6.1 窗體界面設計 481
12.6.2 窗體激活與卸載事件代碼設計 482
12.6.3 復合框改變事件代碼設計 483
12.6.4 工作表列表、選中設置與按鈕代碼設計 484
12.6.5 刷新標題過程代碼設計 485
12.6.6 設置表名顯示狀態過程代碼設計 486
12.6.7 添加刪除選定項過程代碼設計 487
12.7 “保存備份文件位置”窗體設計 488
12.7.1 窗體界面設計 488
12.7.2 窗體事件與ListView事件代碼設計 489
12.7.3 按鈕代碼設計 490
12.7.4 刷新已選工作表列表過程代碼設計 491
12.7.5 刷新已選擇表過程代碼設計 492
12.7.6 默認保存文件名過程代碼設計 493
12.8 信息提示窗體設計 494
12.8.1 窗體界面設計 495
12.8.2 窗體代碼設計 495
12.9 系統測試 496
12.9.1 拆分工作簿模塊功能測試 496
12.9.2 備份工作簿模塊功能測試 498