|
-- 會員 / 註冊 --
|
|
|
|
Excel VBA應用開發(技巧精華版) ( 簡體 字) |
作者:韓小良等 | 類別:1. -> Office -> OFFICE -> EXCEL |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 8889 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:7/1/2007 |
頁數:345 |
光碟數: |
|
站長推薦: |
印刷: | 語系: ( 簡體 版 ) |
|
【不接受訂購】 | ISBN:9787121046414 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書結合500多個精選實例,詳細介紹了Excel VBA的基礎知識和應用技巧,包括Excel VBA編程基礎知識,操作、管理Excel VBA常見對象(Application對象、Workbook對象、Worksheet對象、Range對象、窗體控件對象及對象事件),創建自定義菜單和自定義工具欄,利用Excel VBA處理工作表數據、操作文件和文件夾及保護工作簿應用程序等。 本書適合于具有Excel基礎知識和Excel VBA基礎知識的人員閱讀,特別是想要學習Excel VBA但卻無從下手,想盡快掌握Excel VBA基本知識的人員閱讀,也適用于開發公司信息管理應用系統的人員閱讀。本書可作為大專院校相關專業本科生、研究生、MBA學員以及各類培訓班的教材或參考書。
|
目錄:第1章 了解Excel宏 1 1.1 錄制宏和保存宏 2 1.1.1 錄制宏的基本方法 2 1.1.2 錄制宏應注意的事項 2 1.2 為宏設置快捷鍵 3 1.2.1 重新為宏設置快捷鍵 3 1.2.2 更改宏的快捷鍵 3 1.3 查看錄制的宏 4 1.3.1 查看保存在錄制宏工作簿里的宏 4 1.3.2 查看保存在新工作簿里的宏 4 1.3.3 查看保存在個人宏工作簿中的宏 4 1.4 編輯修改錄制的宏 5 1.5 運行錄制的宏 6 1.5.1 使用快捷鍵運行宏 6 1.5.2 使用宏對話框運行宏 6 1.5.3 在VBE窗口中運行宏 6 1.5.4 使用Excel窗體運行宏 6 1.5.5 使用ActiveX控件運行宏 7 1.5.6 使用自定義按鈕運行宏 9 1.5.7 使用圖形對象運行宏 10 1.5.8 在其他過程中運行錄制的宏 10 1.6 刪除錄制的宏 11 1.6.1 刪除指定的錄制的宏 11 1.6.2 將錄制的宏連同保存宏的模塊一并刪除 11 第2章 使用VBE工具 12 2.1 VBE窗口的結構 13 2.2 設置VBE編輯器屬性 13 2.2.1 設置“編輯器”選項卡項目 13 2.2.2 設置“編輯器格式”選項卡項目 15 2.2.3 設置“通用”選項卡項目 16 2.2.4 設置“可連接的”選項卡項目 17 2.3 VBE窗口的菜單欄和工具欄 17 2.3.1 VBE窗口的菜單欄 17 2.3.2 VBE窗口的工具欄 17 2.4 工程資源管理器窗口的結構 18 2.5 操作模塊 18 2.5.1 插入模塊 18 2.5.2 更改模塊的名稱 18 2.5.3 刪除模塊 19 2.6 使用代碼窗口 19 2.6.1 代碼窗口的結構 19 2.6.2 在代碼窗口中只顯示某個過程 20 2.6.3 顯示模塊中的所有過程 20 2.6.4 快速定位到某個過程 20 2.7 使用立即窗口 20 2.7.1 在立即窗口中查看計算結果 20 2.7.2 在立即窗口中執行命令 21 2.8 使用本地窗口 21 2.8.1 本地窗口的結構 21 2.8.2 通過本地窗口檢查程序的 2.8.2 變量定義和運算結果 21 2.9 使用VBE的快捷鍵 22 2.9.1 使用代碼編輯鍵 22 2.9.2 使用代碼窗口常用鍵 22 2.9.3 使用代碼窗口定位鍵 23 2.9.4 使用代碼窗口快捷鍵 23 2.9.5 代碼窗口中可使用的菜單快捷鍵 24 2.9.6 工程資源管理器中的鍵盤快捷鍵 25 2.9.7 屬性窗口中的鍵盤快捷鍵 26 2.9.8 窗體的快捷鍵 27 第3章 獲取VBA幫助信息 28 3.1 獲取幫助信息 29 3.2 通過Visual Basic幫助窗口的 3.2 目錄得到幫助 30 3.3 快速獲取幫助信息 30 第4章 VBA基礎語法 31 4.1 數據類型 32 4.1.1 數據類型 32 4.1.2 自定義數據類型 32 4.2 聲明變量和常量 33 4.2.1 強制聲明變量 33 4.2.2 定義變量應注意的事項 33 4.2.3 定義變量 33 4.2.4 使用類型標識符定義變量 34 4.2.5 定義和使用對象變量 34 4.2.6 定義模塊級變量 35 4.2.7 定義公共變量 35 4.2.8 定義常量 35 4.2.9 如何使用VBA內置常量 35 4.3 定義數組 36 4.3.1 定義靜態數組 36 4.3.2 定義動態數組 36 4.3.3 將數組的缺省下界設置為1 36 4.3.4 獲取數組的最小下標和最大下標 37 4.4 數據運算符 37 4.4.1 賦值運算符 37 4.4.2 數學運算符 37 4.4.3 比較運算符 38 4.4.4 邏輯運算符 38 4.5 語句基本知識 38 4.5.1 寫聲明語句 38 4.5.2 寫賦值語句 38 4.5.3 寫可執行語句 39 4.6 循環語句 39 4.6.1 使用For ... Next循環語句 39 4.6.2 使用For Each...Next循環語句 40 4.6.3 退出For循環 41 4.6.4 使用Do ... Loop循環語句 41 4.6.5 退出Do循環 43 4.6.6 使用While ... Wend循環語句 43 4.6.7 循環數組中的所有元素 43 4.6.8 循環對象集合中的所有對象 44 4.6.9 使用多重循環 44 4.7 條件控制語句 44 4.7.1 使用If條件語句 44 4.7.2 使用Select ... Case語句 47 4.8 語句書寫技巧 48 4.8.1 將多個語句寫在一行上 48 4.8.2 將一個語句斷開成數行 48 4.8.3 添加注釋語句 49 4.8.4 使用With語句提高程序運行效率 49 第5章 使用工作簿函數和VBA函數 50 5.1 在VBA中使用工作簿函數 51 5.1.1 在VBA過程中調用工作簿函數 51 5.1.2 通過VBA向單元格輸入工作簿函數 51 5.1.3 通過VBA向單元格輸入普通公式 52 5.1.4 通過VBA向單元格輸入數組公式 52 5.1.5 獲取單元格中的公式表達式 52 5.1.6 判斷某單元格區域是否 5.1.6 為數組公式單元格區域的一部分 53 5.1.7 刪除工作表中的所有數據, 5.1.6 但保留所有公式 53 5.2 使用VBA內置函數 54 5.2.1 VBA函數與工作簿函數的區別 54 5.2.2 快速獲取函數的參數信息 54 5.2.3 使用VBA日期和時間函數 54 5.2.4 使用VBA字符串函數 55 5.2.5 使用VBA財務函數 55 5.2.6 使用VBA數學函數 56 5.2.7 使用VBA檢查函數 56 5.2.8 利用IIf函數返回兩個參數中一個值 57 5.2.9 利用Choose函數從參數 5.2.9 列表中選擇并返回一個值 57 5.2.10 利用Switch函數從參數 5.1.6 列表中選擇并返回一個值 57 5.2.11 重要的VBA函數—— 5.1.6 ARRAY:快速輸入數據 58 5.2.12 重要的VBA函數—— 5.1.6 ARRAY:快速輸入行標題和列標題 58 5.2.13 重要的VBA函數—— 5.1.6 FORMAT格式函數 58 5.2.14 重要的VBA函數—— 5.1.6 輸入函數InputBox 59 5.2.15 使用InputBox方法限制 5.1.6 輸入特定類型的數據 60 5.2.16 重要的VBA函數——輸出函數MsgBox 61 5.2.17 使用不返回值的MsgBox函數 63 第6章 過程和自定義函數 64 6.1 子過程 65 6.1.1 什么是通用子過程 65 6.1.2 創建通用子過程 65 6.1.3 什么是事件子過程 65 6.1.4 創建Application對象的事件子過程 66 6.1.5 創建Chart對象的事件子過程 67 6.1.6 創建工作簿和工作表的事件子過程 67 6.1.7 創建窗體控件的事件子過程 68 6.1.8 調用子過程 68 6.1.9 調用標準模塊中的子過程 69 6.1.10 調用窗體對象模塊中的過程 69 6.1.11 調用工作表對象中的過程 69 6.1.12 調用工作簿對象中的過程 69 6.1.13 獲取某過程中變量的計算結果 69 6.2 自定義函數 70 6.2.1 自定義函數的語法結構 70 6.2.2 創建自定義函數 70 6.2.3 設計參數可選的自定義函數 71 6.2.4 為自定義函數的可選參數指定默認值 71 6.2.5 設計參數個數不定的自定義函數 73 6.2.6 設計返回數組的自定義函數 73 6.2.7 為自定義函數添加提示信息 73 6.2.8 將自定義函數歸類 74 6.2.9 在工作表中調用自定義函數 75 6.2.10 在過程中調用自定義函數 75 6.2.11 不返回函數值而直接調用自定義函數 76 6.2.12 調用保存在窗體、工作表、 6.2.12 工作簿等對象中的自定義函數 76 第7章 操作Application對象 77 7.1 獲取Excel系統信息 78 7.1.1 獲取Excel版本 78 7.1.2 獲取Excel的安裝路徑 78 7.1.3 獲取當前用戶名 78 7.1.4 獲取啟動Excel的路徑 78 7.1.5 獲取打開Excel文件時的默認路徑 78 7.1.6 獲取當前打印機的名稱 79 7.1.7 獲取Excel應用程序的標題文字 79 7.1.8 獲取“自動恢復”臨時文件的路徑 79 7.2 自定義Excel窗口 79 7.2.1 修改Excel應用程序的標題文字 79 7.2.2 刪除Excel應用程序的標題文字 80 7.2.3 恢復Excel應用程序的默認標題文字 80 7.2.4 刪除/恢復Excel菜單項 81 7.2.5 使Excel菜單項或其命令不可操作 81 7.2.6 使Excel的工具欄或其命令按鈕不可操作 82 7.2.7 隱藏和顯示編輯欄 83 7.2.8 隱藏和顯示標準工具欄 83 7.2.9 隱藏和顯示格式工具欄 83 7.2.10 隱藏和顯示狀態欄 84 7.2.11 在狀態欄中顯示信息 84 7.2.12 將Excel全屏顯示 84 7.2.13 隱藏Excel本身 85 7.2.14 改變鼠標指針形狀 85 7.3 設置Excel操作選項 86 7.3.1 設置新工作簿中的工作表個數 86 7.3.2 設置工作簿的默認路徑 86 7.3.3 設置保存自動恢復文件的 7.3.3 時間間隔和保存位置 86 7.3.4 停止和啟用屏幕刷新 87 7.3.5 改變手動和自動計算方式 87 7.3.6 不顯示警告信息框 88 7.3.7 顯示Excel的內置對話框 88 7.3.8 將厘米轉換為磅 88 7.4 制定程序運行計劃 89 7.4.1 使程序在指定的時間開始運行 89 7.4.2 定期運行程序以分析數據 89 7.4.3 使程序每隔一段時間就自動運行程序 90 7.4.4 OnTime方法的另一種應用: 5.1.6 禁止改變Excel本身窗口大小 90 7.4.5 取消程序的運行計劃 91 7.5 為Application對象設置事件 91 7.5.1 Application對象事件概述 91 7.5.2 利用Application對象的事件 92 7.5.3 在新建工作簿時自動執行程序 92 7.5.4 在激活任意工作簿窗口時執行程序 93 7.5.5 禁止打印打開的任何工作簿 93 第8章 操作Workbook對象 95 8.1 引用工作簿 96 8.1.1 引用打開的某個工作簿 96 8.1.2 引用當前的活動工作簿 97 8.1.3 引用當前宏代碼運行的工作簿 97 8.1.4 引用新建的工作簿 97 8.1.5 引用有特定工作表的工作簿 98 8.2 獲取工作簿的基本信息 98 8.2.1 獲取所有打開的工作簿的名稱和路徑 98 8.2.2 判斷工作簿是否已經被打開 99 8.2.3 判斷工作簿是否已經被保存 99 8.2.4 獲取工作簿上次保存的時間 100 8.2.5 獲取宏代碼運行的工作簿完整名稱 100 8.2.6 獲取宏代碼運行的工作簿路徑 101 8.2.7 獲取宏代碼運行的工作簿的 5.1.6 帶擴展名的名稱 101 8.2.8 獲取宏代碼運行的工作簿的基礎名稱 101 8.2.9 獲取和設置工作簿的文檔屬性 101 8.3 新建、打開工作簿 102 8.3.1 在當前的Excel窗口中新建一個工作簿 102 8.3.2 重新啟動Excel應用程序 5.1.6 并新建一個工作簿 102 8.3.3 打開指定的工作簿 103 8.3.4 以只讀的方式打開工作簿 103 8.3.5 在不更新鏈接的情況下打開工作簿 103 8.3.6 打開有打開密碼保護的工作簿 104 8.3.7 通過對話框打開工作簿 104 8.4 保存、關閉工作簿 104 8.4.1 保存工作簿但不關閉工作簿 104 8.4.2 另存工作簿 105 8.4.3 將工作簿指定密碼保存 105 8.4.4 保存工作簿副本 105 8.4.5 關閉工作簿但不保存 106 8.4.6 關閉工作簿并保存所有更改 106 8.4.7 通過對話框指定名字和 5.1.6 保存位置并關閉工作簿 106 8.4.8 關閉所有打開的工作簿但不保存 106 8.4.9 關閉所有打開的工作簿并保存更改 107 8.4.10 關閉所有打開的工作簿并同時 8.4.10 關閉Microsoft Excel應用程序 107 8.5 為工作簿設置/取消保護密碼 107 8.5.1 判斷工作簿是否有保護 107 8.5.2 為工作簿指定保護密碼 108 8.5.3 撤銷工作簿的保護密碼 108 8.6 自定義工作簿窗口 109 8.6.1 改變工作簿窗口的大小 109 8.6.2 拆分工作簿窗口并凍結窗格 109 8.6.3 取消工作簿窗口的拆分和凍結 110 8.6.4 隱藏和顯示工作簿窗口 110 8.6.5 設定工作簿窗口的各種顯示狀態 110 8.6.6 重排工作簿窗口 111 8.6.7 設置工作簿的網格線格式 112 8.7 利用工作簿的事件操作工作簿 112 8.7.1 工作簿的事件 113 8.7.2 在打開工作簿時就運行程序 113 8.7.3 在關閉工作簿時就運行程序 113 8.7.4 在激活工作簿時就運行程序 114 8.7.5 在工作簿不是活動工作簿時就運行程序 114 8.7.6 在保存工作簿時就運行程序 115 8.7.7 在打印工作簿時就執行程序—— 5.1.6 制作打印日志 115 8.7.8 在打印工作簿時就執行程序—— 5.1.6 計算打印累計次數 116 8.7.9 在打印工作簿時就執行程序—— 5.1.6 禁止打印當前工作簿 116 8.7.10 在打印工作簿時就執行程序—— 5.1.6 禁止打印某個工作表 117 8.7.11 為工作簿內所有的工作表 8.7.11 指定相同的事件處理程序 117 8.7.12 禁止刪除當前工作簿內的工作表 118 8.7.13 禁止移動或復制當前工作簿內的工作表 119 8.7.14 禁止對當前工作簿內的工作表重命名 120 8.7.15 禁止在當前工作簿內插入新工作表 121 8.7.16 為當前工作簿的所有工作表 8.7.16 設置相同的頁眉和頁腳 121 第9章 操作Worksheet對象 122 9.1 引用工作表 123 9.1.1 引用某個工作簿的某個工作表 123 9.1.2 引用某個工作簿中的活動工作表 124 9.1.3 引用當前活動工作簿中的活動工作表 124 9.1.4 引用當前宏代碼運行的 5.1.6 工作簿中的某個工作表 125 9.1.5 引用新建的工作表 125 9.1.6 引用工作表名稱中包含有 5.1.6 特定字符串的工作表 125 9.2 獲取工作表的基本信息 126 9.2.1 獲取工作表名稱 126 9.2.2 獲取工作簿內所有工作表的名稱 126 9.2.3 判斷某個表是否為普通工作表 127 9.2.4 判斷指定名稱的工作表是否存在 127 9.3 操作工作表 128 9.3.1 隱藏工作表并通過菜單取消隱藏 128 9.3.2 隱藏工作表但不能通過菜單取消隱藏 128 9.3.3 顯示被隱藏的工作表 129 9.3.4 重命名工作表 129 9.3.5 新建工作表并重命名 130 9.3.6 在本工作簿內復制工作表 131 9.3.7 將本工作簿內的某工作表 5.1.6 復制到一個新工作簿中 131 9.3.8 將本工作簿內的某工作表 5.1.6 復制到另外一個打開的工作簿中 131 9.3.9 在本工作簿內移動工作表 132 9.3.10 將本工作簿內的某工作表 5.1.6 移動到一個新工作簿中 132 9.3.11 將本工作簿內的某工作表 5.1.6 移動到另外一個打開的工作簿中 132 9.3.12 刪除工作表 133 9.3.13 保護工作表 133 9.3.14 撤銷對工作表的保護 133 9.3.15 激活工作表 134 9.3.16 選擇工作表 134 9.3.17 顯示和隱藏指定工作表的行號和列標 134 9.3.18 禁止使用快捷菜單對工作表進行 5.1.6 插入/刪除/重命名/移動或復制操作 135 9.4 利用工作表的事件操作工作表 135 9.4.1 工作表的事件 135 9.4.2 為工作表指定事件 136 9.4.3 在激活工作表時就運行程序 137 9.4.4 在工作表為非活動時就運行程序 137 9.4.5 在工作表的單元格數據發生 5.1.6 變化時就運行程序 138 9.4.6 在選擇工作表單元格區域發生 5.1.6 變化時就運行程序 139 9.4.7 在雙擊左鍵時就運行程序 139 9.4.8 在單擊右鍵時就運行程序 139 9.4.9 在對工作表進行計算時執行程序 140 第10章 操作Range對象 141 10.1 引用單元格和單元格區域 142 10.1.1 使用Range屬性引用某個單元格 142 10.1.2 使用Range屬性引用連續的單元格區域 142 10.1.3 使用Range屬性引用 10.1.3 不連續的單元格區域 142 10.1.4 使用Range屬性引用 10.1.3 不確定的某個單元格 143 10.1.5 使用Range屬性引用 10.1.3 不確定的連續單元格區域 143 10.1.6 使用Range屬性引用 10.1.3 不確定的不連續單元格區域 143 10.1.7 使用Range屬性引用單列 144 10.1.8 使用Range屬性引用連續的多列 144 10.1.9 使用Range屬性引用不連續的多列 144 10.1.10 使用Range屬性引用單行 145 10.1.11 使用Range屬性引用連續的多行 145 10.1.12 使用Range屬性引用不連續的多行 145 10.1.13 通過定義名稱引用單元格區域 146 10.1.14 使用Cells屬性引用某個單元格 146 10.1.15 使用Cells屬性引用連續的單元格區域 146 10.1.16 利用Rows屬性引用連續的整行 147 10.1.17 利用Rows屬性引用不連續的整行 147 10.1.18 利用Columns屬性引用連續的整列 148 10.1.19 利用Columns屬性引用不連續的整列 148 10.1.20 引用工作表的全部單元格 148 10.1.21 引用活動單元格 148 10.1.22 使用UsedRange屬性引用 10.1.3 已使用的單元格區域 149 10.1.23 引用被空白行和空白列 10.1.3 包圍的單元格區域 149 10.1.24 利用Offset屬性動態 10.1.3 引用某個單元格 149 10.1.25 利用Offset屬性動態 10.1.3 引用連續的單元格區域 150 10.1.26 利用Resize屬性引用 10.1.3 變化后的單元格區域 150 10.1.27 利用Union方法引用 10.1.3 多個非連續單元格區域 151 10.1.28 引用多個單元格區域的交叉區域 151 10.1.29 引用有計算公式的所有單元格 152 10.1.30 引用隱藏的行和列 153 10.1.31 引用指定單元格區域內的 10.1.3 所有空白單元格 153 10.1.32 引用指定單元格區域內的 10.1.3 所有設置有數據有效性的單元格 154 10.1.33 引用指定單元格區域內的 10.1.3 所有可見單元格 154 10.1.34 引用指定單元格區域內的 10.1.3 所有出現錯誤的單元格 155 10.1.35 引用指定單元格區域內 10.1.3 有批注的單元格 155 10.1.36 引用指定單元格區域內 10.1.3 所有設置有條件格式的單元格 156 10.2 獲取單元格和單元格區域信息 156 10.2.1 獲取單元格或單元格區域的地址 156 10.2.2 獲取單元格的行號 156 10.2.3 獲取單元格的列標字母 157 10.2.4 獲取單元格區域的起始 10.2.4 行號和終止行號 157 10.2.5 獲取單元格區域的起始列號和終止列號 158 10.2.6 利用End屬性獲取數據 10.1.3 區域的最后一行行號 158 10.2.7 利用End屬性獲取數據 10.1.3 區域的最前一行行號 158 10.2.8 利用End屬性獲取數據 10.1.3 區域的最后一列列號 158 10.2.9 利用End屬性獲取數據 10.1.3 區域的最前一列列號 158 10.2.10 判斷單元格內是否輸入了公式 159 10.2.11 判斷單元格內是否輸入了數組公式 159 10.2.12 獲取單元格內的公式字符串 160 10.2.13 獲取單元格的字體對象信息 160 10.2.14 獲取單元格的內部對象信息 160 10.2.15 獲取單元格的數據 161 10.3 設置單元格和單元格區域格式 161 10.3.1 設置單元格的字體屬性 161 10.3.2 設置單元格的下劃線 162 10.3.3 設置單元格字符串的一部分字符的格式 162 10.3.4 設置和刪除單元格區域的邊框 162 10.3.5 設置單元格的數字格式 163 10.3.6 設置單元格顏色和背景 164 10.3.7 設置單元格對齊方式 164 10.3.8 縮小單元格內容以全部顯示 165 10.3.9 設置單元格的有效性規則 165 10.3.10 為單元格設置或刪除超鏈接 166 10.3.11 為單元格添加和刪除批注 167 10.3.12 為單元格區域定義和刪除名稱 167 10.3.13 根據單元格內容自動調整列寬和行高 168 10.3.14 設置單元格的行高和列寬 168 10.4 操作單元格和單元格區域 169 10.4.1 隱藏行和列 169 10.4.2 合并和取消合并單元格 170 10.4.3 刪除單元格的全部信息 170 10.4.4 刪除單元格的公式和值 170 10.4.5 刪除單元格的格式 170 10.4.6 刪除單元格的批注 170 10.4.7 插入單元格 170 10.4.8 插入整行和整列 171 10.4.9 每隔數行插入一個空行 171 10.4.10 刪除單元格 172 10.4.11 刪除整行和整列 172 10.4.12 刪除工作表的全部單元格 173 10.4.13 刪除工作表的全部空行 173 10.4.14 刪除工作表的全部空列 173 10.4.15 移動單元格 174 10.4.16 復制單元格的全部信息 174 10.4.17 只復制單元格的值 175 10.4.18 只復制單元格的公式 176 10.4.19 只復制單元格的格式 176 10.4.20 只復制單元格的批注 176 10.4.21 只復制單元格的有效性設置 177 10.4.22 為不同的單元格區域 10.1.3 設置不同的保護密碼 177 10.5 向單元格和單元格區域輸入數據 178 10.5.1 向單元格輸入數值 178 10.5.2 向單元格輸入字符串 179 10.5.3 向單元格輸入數字型字符串 179 10.5.4 向單元格輸入公式 179 10.5.5 向單元格輸入數組公式 179 10.5.6 向單元格輸入日期 179 10.5.7 向單元格輸入時間 180 10.5.8 向單元格輸入分數 180 10.5.9 向單元格輸入郵政編碼 180 10.5.10 向單元格輸入18位的身份證號碼 181 10.5.11 快速輸入行標題 181 10.5.12 快速輸入列標題 181 10.5.13 快速向單元格區域輸入相同的數據 181 10.5.14 快速向單元格區域輸入序列數據 181 10.5.15 快速向單元格區域輸入連續的日期 182 10.5.16 快速向單元格區域輸入 10.1.3 具有固定日期間隔的日期 183 10.5.17 向單元格輸入多行數據 183 10.5.18 向單元格輸入特殊字符 183 10.5.19 快速向某些單元格輸入 10.1.3 帶小數點的數字 183 10.5.20 不激活工作表就向該工作表輸入數據 184 10.5.21 同時為多個工作表的相同 10.1.3 單元格區域輸入相同的數據 184 第11章 使用窗體 185 11.1 用戶窗體概述 186 11.1.1 創建用戶窗體 186 11.1.2 導出用戶窗體 186 11.1.3 導入用戶窗體 186 11.1.4 刪除用戶窗體 187 11.2 設置用戶窗體屬性 187 11.2.1 更改用戶窗體名稱 187 11.2.2 更改窗體的標題文字 188 11.2.3 為窗體添加背景圖片 188 11.2.4 刪除窗體上的背景圖片 190 11.2.5 改變窗體的大小 191 11.2.6 設置窗體背景顏色 191 11.2.7 設置窗體外觀 192 11.3 加載和卸載用戶窗體 194 11.3.1 加載并顯示窗體 194 11.3.2 加載但不顯示窗體 194 11.3.3 隱藏窗體 194 11.3.4 卸載窗體 194 11.4 利用事件控制用戶窗體 195 11.4.1 窗體的常用事件 195 11.4.2 為窗體指定事件的方法 195 11.4.3 在裝載窗體時就執行程序 196 11.4.4 在激活窗體時就執行程序 196 11.4.5 在單擊時就執行程序 197 11.4.6 禁止使用窗體右上角的 10.1.3 X按鈕關閉窗體 197 11.5 用戶窗體的高級使用技巧 197 11.5.1 以無模式狀態顯示窗體 197 11.5.2 能夠同時顯示并能操作多個窗體 198 11.5.3 將窗體顯示在窗口的指定位置 198 11.5.4 使窗體自動布滿整個屏幕 199 11.5.5 隱藏/顯示用戶窗體的X按鈕 199 11.5.6 將窗體的X按鈕設置為有效和無效 200 11.5.7 為窗體添加最大化和最小化按鈕 201 11.5.8 在啟動工作簿時僅顯示窗體, 10.1.3 而不顯示Excel界面 203 11.5.9 設計有上下滾動字幕的窗體 203 11.5.10 設計有左右滾動字幕的窗體 204 11.5.11 在激活窗體時就播放音樂 205 11.5.12 運行時創建窗體和控件 10.1.3 并為其設計事件程序代碼 206 第12章 使用控件 210 12.1 控件概述 211 12.1.1 為控件工具箱添加或刪除控件 211 12.1.2 在窗體上插入控件 212 12.1.3 對齊窗體上的控件 212 12.1.4 統一設置多個控件的高度和 10.1.3 寬度及其他共有屬性 212 12.1.5 設置控件的Tab鍵順序 213 12.1.6 為控件設置默認屬性值 214 12.1.7 設置控件的前景色和背景色 214 12.1.8 設置控件的焦點 214 12.1.9 為控件添加圖片和刪除圖片 214 12.1.10 引用窗體上的某個控件 215 12.1.11 引用窗體上的某一類控件 215 12.1.12 引用窗體上的全部控件 216 12.1.13 獲取窗體上所有控件的名稱和類型 216 12.1.14 引用窗體上的某些控件 217 12.1.15 獲取控件的有關信息 217 12.1.16 顯示和隱藏控件 218 12.1.17 將控件變為不可操作和可操作 218 12.1.18 當鼠標停留在控件上面時 10.1.3 顯示提示信息 219 12.1.19 當鼠標停留在控件上面時 10.1.3 改變鼠標指針類型 219 12.1.20 當鼠標停留在控件上面時 10.1.3 改變鼠標的圖像 220 12.1.21 當鼠標停留在控件上面時改變 10.1.3 控件顏色,離開時恢復默認顏色 220 12.2 標簽 221 12.2.1 設置標簽的標題文字 221 12.2.2 設置標簽標題文字的對齊方式 221 12.2.3 設置標簽是否能夠自動調整 10.1.3 大小以顯示所有內容 222 12.2.4 設置標簽的背景樣式 222 12.2.5 設置標簽的前景色和背景色 222 12.2.6 設置標簽的邊框和邊框外觀 222 12.2.7 利用標簽顯示運行過程及結果: 10.1.3 制作進度條 223 12.2.8 當單擊標簽時就執行程序 224 12.3 文本框 224 12.3.1 獲取文本框的數據 224 12.3.2 將文本框的數字字符串轉換為數字 225 12.3.3 將文本框的數字字符串轉換為日期 225 12.3.4 向文本框中輸入數據 225 12.3.5 設置文本框內字符的對齊方式 225 12.3.6 設置文本框內字符的顯示格式 225 12.3.7 限制文本框內輸入的字符長度 226 12.3.8 限制文本框內的輸入數據 226 12.3.9 不顯示輸入到文本框的內容 227 12.3.10 將文本框設置為自動換行 227 12.3.11 使文本框內字符在任意字符后換行 228 12.3.12 顯示和隱藏文本框的水平 10.1.3 滾動條和垂直滾動條 228 12.3.13 設置文本框為必須輸入狀態 229 12.3.14 限制只能在文本框中輸入負號、 10.1.3 數字和小數點 229 12.3.15 限制只能在文本框中輸入字母 229 12.3.16 當修改文本框中內容時就執行程序 230 12.3.17 當文本框數據變更后就執行程序 230 12.3.18 在文本框中輸入數據后就朗讀出來 230 12.3.19 在文本框獲得焦點時改變背景色 231 12.4 命令按鈕 231 12.4.1 更改命令按鈕的標題文字 231 12.4.2 將命令按鈕設置為默認按鈕 231 12.4.3 將命令按鈕設置為取消按鈕 231 12.4.4 在單擊按鈕時就執行程序 231 12.4.5 在單擊按鈕時就朗讀出提示信息 232 12.5 復選框 232 12.5.1 設置復選框的標題文字及對齊方式 232 12.5.2 判斷復選框是否被選中 233 12.5.3 在運行中選擇或取消復選框 233 12.6 選項按鈕 233 12.6.1 設置選項按鈕的標題文字及對齊方式 234 12.6.2 判斷選項按鈕是否被選中 234 12.6.3 在運行中選擇或取消選項按鈕 234 12.6.4 能夠同時選擇兩個以上的選項按鈕 234 12.7 框架 235 12.7.1 設置框架的標題文字 235 12.7.2 設置框架外觀 235 12.7.3 將框架設計為兩條水平平行線或 10.1.3 一條水平直線 235 12.7.4 將框架設計為兩條垂直平行線或 10.1.3 一條垂直直線 236 12.7.5 獲取框架內的所有控件名稱及其值 236 12.8 復合框 236 12.8.1 利用AddItem方法為復合框 10.1.3 列表添加項目 236 12.8.2 利用RowSource屬性為復合框 10.1.3 列表添加項目 237 12.8.3 利用List屬性為復合框列表添加項目 238 12.8.4 利用Column屬性為復合框 10.1.3 列表添加項目 238 12.8.5 利用Value屬性獲取復合框的 10.1.3 某條項目值 238 12.8.6 利用List屬性獲取復合框的 10.1.3 某條項目值 239 12.8.7 利用Column屬性獲取復合框的 10.1.3 某條項目值 239 12.8.8 利用數組獲取復合框的某條項目值 240 12.8.9 利用Clear方法刪除復合框的全部項目 240 12.8.10 利用RowSource屬性刪除 10.1.3 復合框的全部項目 240 12.8.11 刪除復合框的某條項目 241 12.8.12 設置復合框的顯示類型和行為 241 12.8.13 取消復合框項目的選擇 242 12.8.14 將復合框設置為必須選擇或 10.1.3 必須輸入狀態 242 12.8.15 在復合框的值發生改變時就執行程序 242 12.9 列表框 243 12.9.1 利用AddItem方法為列表框 10.1.3 列表添加項目 243 12.9.2 利用RowSource屬性為列表框 10.1.3 列表添加項目 243 12.9.3 利用List屬性為列表框列表添加項目 244 12.9.4 利用Column屬性為列表框 10.1.3 列表添加項目 244 12.9.5 利用Value屬性獲取列表框的 10.1.3 某條項目值 245 12.9.6 利用List屬性獲取列表框的 10.1.3 某條項目值 245 12.9.7 利用Column屬性獲取列表框的 10.1.3 某條項目值 246 12.9.8 利用Clear方法刪除列表框的全部項目 246 12.9.9 利用RowSource屬性刪除 10.1.3 列表框的全部項目 247 12.9.10 刪除列表框的某條項目 247 12.9.11 設置列表框的單選和多選狀態 247 12.9.12 取消列表框項目的選擇 248 12.9.13 在列表框的值發生改變時就執行程序 248 12.9.14 在單擊列表框時就執行程序 248 12.10 圖像控件 248 12.10.1 使用圖像控件顯示圖片 249 12.10.2 設置圖片的顯示效果 250 12.10.3 利用工作表數據為圖像控件添加圖片 250 12.11 其他標準控件 250 12.11.1 實現旋轉按鈕與文本框的聯動 250 12.11.2 使用滾動條 251 12.11.3 使用多頁控件 253 12.11.4 使用切換按鈕 254 12.11.5 利用標簽條(TabStrip控件) 10.1.3 動態顯示數據 255 12.12 非標準控件 256 12.12.1 利用進度條控件顯示運行進程 256 12.12.2 利用ListView控件在窗體上制作報表 257 12.12.3 利用TreeView控件在窗體上 10.1.3 顯示多維數據 259 12.12.4 利用Spreadsheet控件在 10.1.3 窗體上編輯數據 260 12.12.5 利用ChartSpace控件在 10.1.3 窗體上繪制動態圖表 262 12.12.6 使用日歷控件(Calendar) 265 12.12.7 使用獲取日期控件(DTPicker) 266 12.13 在工作表中使用ActiveX控件 267 12.12.1 引用工作表中的ActiveX控件 267 12.12.2 自動在工作表中插入ActiveX控件 267 12.12.3 在工作表中自動插入 10.1.3 ActiveX控件對象并重命名 268 12.12.4 設置ActiveX控件的標題 10.1.3 文字及字體屬性 269 12.12.5 設置ActiveX控件的前景色和背景色 270 12.12.6 設置ActiveX控件的大小和位置 270 12.12.7 獲取ActiveX控件的值 270 12.14 控件的高級使用技巧 271 12.14.1 每單擊一次按鈕就執行不同的操作 271 12.14.2 為控件指定多個事件 272 12.14.3 為控件創建類集 273 第13章 操作菜單和工具欄 275 13.1 獲取Excel菜單欄信息 276 13.1.1 獲取Excel菜單欄信息 276 13.1.2 獲取Excel【文件】菜單項信息 277 13.1.3 獲取Excel【編輯】菜單項信息 278 13.1.4 獲取Excel【視圖】菜單項信息 279 13.1.5 獲取Excel【插入】菜單項信息 280 13.1.6 獲取Excel【格式】菜單項信息 281 13.1.7 獲取Excel【工具】菜單項信息 281 13.1.8 獲取Excel【數據】菜單項信息 282 13.1.9 獲取Excel【窗口】菜單項信息 283 13.2 獲取Excel工具欄信息 284 13.2.1 獲取Excel所有工具欄信息清單 284 13.2.2 獲取Excel標準工具欄信息 285 13.2.3 獲取Excel格式工具欄信息 286 13.2.4 獲取Excel命令按鈕的Icon和FaceID 287 13.3 更改現有的Excel菜單和工具欄 288 13.3.1 禁止使用Excel菜單欄的菜單項 288 13.3.2 刪除和恢復Excel菜單欄 289 13.3.3 隱藏和恢復Excel工具欄 289 13.3.4 在現有的菜單中添加或刪除 10.1.3 自定義菜單命令項 290 13.3.5 在Excel菜單欄中創建和刪除 10.1.3 自定義子菜單 291 13.3.6 改變Excel命令按鈕的Icon 292 13.3.7 在菜單欄或工具欄中添加 10.1.3 自定義命令按鈕 293 13.3.8 在Excel的工具欄中創建 10.1.3 一個自定義組合框命令按鈕 294 13.3.9 在Excel的工具欄中創建 10.1.3 一個自定義下拉命令按鈕 295 13.3.10 禁止使用Excel的菜單命令 296 13.4 創建自定義主菜單欄 297 13.5 創建和刪除自定義工具欄 299 13.5.1 創建和刪除自定義工具欄 299 13.5.2 創建和刪除由內置命令 10.1.3 組成的自定義工具欄 301 13.5.3 為每個工作表設計不同的 10.1.3 自定義工具欄 302 13.6 創建自定義快捷菜單 304 13.6.1 獲取Excel的全部快捷菜單信息 304 13.6.2 為快捷菜單添加或刪除菜單項 305 13.6.3 為快捷菜單添加和刪除內置命令 306 13.6.4 為某些單元格區域創建 10.1.3 一個全新的快捷菜單 307 13.6.5 使Excel的快捷菜單失效 308 13.6.6 在工作表的任意位置快速 10.1.3 顯示快捷菜單 308 13.6.7 為窗體控件創建自定義快捷菜單 308 第14章 利用VBA處理工作表數據 310 14.1 利用VBA常規方法處理工作表數據 311 14.1.1 查詢工作表中符合條件的 10.1.3 數值和公式字符串 311 14.1.2 查詢數值及公式結果 312 14.1.3 進行模糊查詢 315 14.1.4 從多個工作表或工作簿中查詢數據 315 14.1.5 刪除數據區域內的所有空白行 316 14.1.6 獲取存在于兩個工作表中 10.1.3 相同數據的行數據 316 14.1.7 獲取只存在于某個工作表中的行數據 317 14.1.8 從一個工作表中刪除另一個 10.1.3 工作表中存在的行數據 318 14.1.9 數據排序 318 14.1.10 數據篩選 321 14.2 利用ADO+SQL處理工作表數據 323 14.2.1 利用ADO+SQL進行復雜 10.1.3 條件下的查詢 324 14.2.2 從工作簿的全部工作表中 10.1.3 查詢獲取數據 325 14.2.3 查詢其他工作簿的數據 326 14.2.4 對工作表數據進行復雜排序 327 第15章 操作文件和文件夾 329 15.1 操作文件夾 330 15.1.1 判斷文件夾是否存在 330 15.1.2 獲取文件夾的屬性 330 15.1.3 創建文件夾 331 15.1.4 移動文件夾 331 15.1.5 更改文件夾名稱 332 15.1.6 刪除文件夾 332 15.2 操作文件 333 15.2.1 判斷文件是否存在 333 15.2.2 獲取文件的信息 333 15.2.3 復制文件 334 15.2.4 移動文件 334 15.2.5 刪除文件 335 15.2.6 更改文件名 335 15.2.7 批量更改文件名 335 15.2.8 批量刪除文件 336 15.2.9 利用Application對象的 10.1.3 FileSearch屬性查找文件 336 15.3 利用文件對象模型操作文件 337 15.3.1 引用文件對象模型 337 15.3.2 FileSystemObject對象 338 15.3.3 檢查文件是否存在 338 15.3.4 復制文件 339 15.3.5 刪除文件 339 第16章 保護您的勞動成果 341 16.1 為VBA工程設置密碼 342 16.2 防止別人通過強制中斷 16.2 方式查看VBA代碼 342 16.3 在禁用宏時就自動關閉工作簿 342 16.4 限制工作簿的使用時間, 16.2 超過時間就自我刪除 343 16.5 限制工作簿的使用次數, 16.2 超過次數就自我刪除 344 16.6 設置工作簿的登錄窗口 345
實例目錄
第4章 VBA基礎語法 【例4-1】 自定義數據類型。 32 【例4-2】 將數組的缺省下界設置為1。 37 【例4-1】 自定義數據類型。 32 【例4-2】 將數組的缺省下界設置為1。 37 【例4-3】 設計一個九九乘法表。 40 【例4-4】 獲取當前工作簿中的所有工作表名。 40 【例4-5】 判斷工作表是否存在。 41 【例4-6】 Do...Loop循環語句的第一種結構使用舉例。 41 【例4-7】 Do...Loop循環語句的第二種結構使用舉例。 42 【例4-8】 Do...Loop循環語句的第三種結構使用舉例。 42 【例4-9】 Do...Loop循環語句的第四種結構使用舉例。 42 【例4-10】 退出Do循環舉例。 43 【例4-11】 While ... Wend循環語句使用舉例。 43 【例4-12】 循環數組中的所有元素。 43 【例4-13】 循環對象集合中的所有對象。 44 【例4-14】 單行格式的If條件語句應用舉例。 45 【例4-15】 單行格式的If條件語句應用舉例。 45 【例4-16】 If… Then格式的條件語句應用舉例。 45 【例4-17】 If…Then…Else格式的條件語句應用舉例。 46 【例4-18】 If…Then…ElseIf…Then格式的條件語句應用舉例。 46 【例4-19】 Select ... Case語句使用舉例(具體常數)。 47 【例4-20】 Select ... Case語句使用舉例(連續的數據范圍)。 47 【例4-21】 Select ... Case語句使用舉例(Is關系表達式)。 48 【例4-22】 將多個語句寫在一行上。 48 【例4-23】 With語句的使用舉例。 49 第5章 使用工作簿函數和VBA函數 50 【例5-1】 使用Application對象的WorksheetFunction屬性調用工作簿函數。 51 【例5-2】 使用字符串的處理方式向單元格輸入工作簿函數。 52 【例5-3】 使用字符串的處理方式向單元格輸入數組公式。 52 【例5-4】 采用定義Range對象變量的方法向單元格輸入數組公式。 52 【例5-5】 利用Range對象的Formula屬性獲取單元格中的公式表達式。 53 【例5-6】 利用Range對象的FormulaArray屬性,判斷指定單元格區域是否為數組公式單元格區域的一部分。 53 【例5-7】 使用Range集合的SpecialCells方法刪除工作表中的所有數據(僅留下所有的公式)。 53 【例5-8】 日期和時間函數使用舉例。 54 【例5-9】 工作簿日期函數與VBA日期函數的比較。 55 【例5-10】 字符串函數使用舉例。 55 【例5-11】 VBA財務函數使用舉例。 56 【例5-12】 VBA數學函數使用舉例。 56 【例5-13】 VBA檢查函數使用舉例。 56 【例5-14】 IIf函數使用舉例。 57 【例5-15】 Choose函數使用舉例。 57 【例5-16】 Switch函數使用舉例。 58 【例5-17】 ARRAY函數使用舉例。 58 【例5-18】 利用ARRAY函數快速輸入行標題和列標題。 58 【例5-19】 FORMAT格式函數使用舉例。 59 【例5-20】 輸入函數InputBox使用舉例——輸入日期。 59 【例5-21】 輸入函數InputBox使用舉例——在信息輸入框中顯示幫助按鈕。 59 【例5-22】 InputBox方法使用舉例——輸入數字。 61 【例5-23】 InputBox方法使用舉例——輸入文本。 61 【例5-24】 InputBox方法使用舉例——輸入數字和文本。 61 【例5-25】 輸出函數MsgBox應用舉例。 63 第6章 過程和自定義函數 64 【例6-1】 定義模塊級變量并獲取該變量的值。 69 【例6-2】 創建自定義函數。 71 【例6-3】 設計參數可選的自定義函數。 71 【例6-4】 為自定義函數的可選參數指定默認值——個人所得稅自定義函數。 72 【例6-5】 設計參數個數不定的自定義函數。 73 【例6-6】 設計返回數組的自定義函數。 73 【例6-7】 為自定義函數添加提示信息。 73 【例6-8】 將自定義函數歸類。 74 【例6-9】 在過程中調用自定義函數。 75 第7章 操作Application對象 77 【例7-1】 獲取Excel版本。 78 【例7-2】 獲取Excel的安裝路徑。 78 【例7-3】 獲取當前用戶名。 78 【例7-4】 獲取啟動Excel的路徑。 78 【例7-5】 獲取打開Excel文件時的默認路徑。 79 【例7-6】 獲取當前打印機的名稱。 79 【例7-7】 獲取Excel應用程序的標題文字。 79 【例7-8】 獲取“自動恢復”臨時文件的路徑。 79 【例7-9】 修改Excel應用程序的標題文字。 80 【例7-10】 刪除Excel應用程序的標題文字。 80 【例7-11】 恢復Excel應用程序的默認標題文字。 80 【例7-12】 刪除/恢復Excel菜單項。 81 【例7-13】 使Excel菜單項或其命令不可操作。 81 【例7-14】 使Excel菜單項或其命令不可操作。 81 【例7-15】 使Excel的工具欄不可操作。 82 【例7-16】 使Excel的工具欄上的命令按鈕不可操作。 82 【例7-17】 隱藏和顯示編輯欄。 83 【例7-18】 隱藏和顯示標準工具欄。 83 【例7-19】 隱藏和顯示格式工具欄。 84 【例7-20】 隱藏和顯示狀態欄。 84 【例7-21】 在狀態欄中顯示信息。 84 【例7-22】 將Excel全屏顯示。 85 【例7-23】 隱藏Excel本身。 85 【例7-24】 改變鼠標指針形狀。 85 【例7-25】 設置新工作簿中的工作表個數。 86 【例7-26】 設置工作簿的默認路徑。 86 【例7-27】 設置保存自動恢復文件的時間間隔和保存位置。 87 【例7-28】 改變手動和自動計算方式。 87 【例7-29】 不顯示警告信息框。 88 【例7-30】 顯示Excel的內置對話框。 88 【例7-31】 將厘米轉換為磅。 88 【例7-32】 使程序在指定的時間開始運行。 89 【例7-33】 定期運行程序以分析數據。 89 【例7-34】 使程序每隔一段時間就自動運行程序。 90 【例7-35】 使用OnTime方法禁止改變Excel本身窗口大小。 90 【例7-36】 取消程序的運行計劃。 91 【例7-37】 Application對象的NewWorkbook事件使用舉例。 93 【例7-38】 Application對象的SheetActivate事件使用舉例。 93 【例7-39】 Application對象的WorkbookBeforePrint事件使用舉例。 93 第8章 操作Workbook對象 95 【例8-1】 通過索引編號引用工作簿。 96 【例8-2】 通過名稱引用工作簿。 96 【例8-3】 引用當前的活動工作簿。 97 【例8-4】 引用當前宏代碼運行的工作簿。 97 【例8-5】 引用新建的工作簿。 97 【例8-6】 引用有特定工作表的工作簿。 98 【例8-7】 獲取所有打開的工作簿的名稱和路徑。 98 【例8-8】 利用循環方法判斷工作簿是否已經被打開。 99 【例8-9】 利用錯誤處理方法判斷工作簿是否已經被打開。 99 【例8-10】 利用Path屬性判斷工作簿是否已經被保存。 100 【例8-11】 利用Saved屬性判斷工作簿的更改是否已經被保存過。 100 【例8-12】 獲取指定工作簿的上次保存時間。 100 【例8-13】 獲取宏代碼運行的工作簿完整名稱。 101 【例8-14】 獲取宏代碼運行的工作簿路徑。 101 【例8-15】 獲取宏代碼運行的工作簿的帶擴展名的名稱。 101 【例8-16】 獲取宏代碼運行的工作簿的基礎名稱。 101 【例8-17】 獲取和設置工作簿的文檔屬性。 101 【例8-18】 新建工作簿。 102 【例8-19】 重新啟動Excel應用程序并新建一個工作簿。 103 【例8-20】 利用Open方法并通過指定文件名的方式打開工作簿。 103 【例8-21】 以只讀的方式打開工作簿。 103 【例8-22】 在不更新鏈接的情況下打開工作簿。 103 【例8-23】 利用Open方法打開有打開密碼保護的工作簿。 104 【例8-24】 通過對話框打開工作簿。 104 【例8-25】 保存工作簿但不關閉工作簿。 104 【例8-26】 另存工作簿。 105 【例8-27】 將工作簿指定密碼保存。 105 【例8-28】 保存工作簿副本。 105 【例8-29】 關閉工作簿但不保存。 106 【例8-30】 關閉工作簿并保存所有更改。 106 【例8-31】 通過對話框指定名字和保存位置并關閉工作簿。 106 【例8-32】 關閉所有打開的工作簿但不保存。 107 【例8-33】 關閉所有打開的工作簿并保存更改。 107 【例8-34】 關閉所有打開的工作簿及Excel應用程序。 107 【例8-35】 判斷工作簿是否有保護。 108 【例8-36】 為工作簿指定保護密碼。 108 【例8-37】 撤銷工作簿的保護密碼。 108 【例8-38】 保護工作簿/撤銷工作簿保護。 109 【例8-39】 改變工作簿窗口的大小。 109 【例8-40】 拆分工作簿窗口并凍結窗格。 110 【例8-41】 取消工作簿窗口的凍結窗格。 110 【例8-42】 隱藏和顯示工作簿窗口。 110 【例8-43】 設定工作簿窗口的各種顯示狀態。 111 【例8-44】 重排工作簿窗口。 112 【例8-45】 設置工作簿的網格線格式。 112 【例8-46】 Open事件應用舉例。 113 【例8-47】 BeforeClose事件應用舉例。 113 【例8-48】 Activate事件應用舉例。 114 【例8-49】 Deactivate事件應用舉例。 114 【例8-50】 BeforeSave事件應用舉例。 115 【例8-51】 BeforePrint事件應用舉例:制作打印日志。 115 【例8-52】 BeforePrint事件應用舉例:制作打印日志。 115 【例8-53】 BeforePrint事件應用舉例:計算打印累計次數。 116 【例8-54】 BeforePrint事件應用舉例:禁止打印當前工作簿。 116 【例8-55】 BeforePrint事件應用舉例:禁止打印某個工作表。 117 【例8-56】 為工作簿內所有的工作表指定SheetBefore RightClick事件。 117 【例8-57】 為工作簿內所有的工作表指定SheetBefore RightClick事件。 117 【例8-58】 為工作簿內所有的工作表指定SheetBefore RightClick事件。 118 【例8-59】 禁止刪除當前工作簿內的指定工作表。 118 【例8-60】 禁止刪除當前工作簿內的所有工作表。 118 【例8-61】 禁止移動或復制當前工作簿內的指定工作表。 119 【例8-62】 禁止移動或復制當前工作簿內的所有工作表。 119 【例8-63】 禁止重命名當前工作簿內的指定工作表。 120 【例8-64】 禁止重命名當前工作簿內的所有工作表。 120 【例8-65】 禁止在當前工作簿內插入新工作表。 121 【例8-66】 為當前工作簿的所有工作表設置相同的頁眉。 121 第9章 操作Worksheet對象 122 【例9-1】 通過索引引用工作表。 123 【例9-2】 通過名稱引用工作表。 123 【例9-3】 通過Sheets集合引用工作表。 124 【例9-4】 引用指定工作簿中的活動工作表。 124 【例9-5】 引用當前活動工作簿中的活動工作表。 124 【例9-6】 引用當前宏代碼運行的工作簿中的某個工作表。 125 【例9-7】 引用新建的工作表。 125 【例9-8】 引用工作表名稱中包含有特定字符串的工作表。 125 【例9-9】 通過循環Worksheets集合獲取工作簿內所有工作表的名稱。 126 【例9-10】 通過循環Sheets集合獲取工作簿內所有工作表的名稱。 126 【例9-11】 判斷某個表是否為普通工作表。 127 【例9-12】 判斷指定名稱的工作表是否存在。 127 【例9-13】 判斷指定名稱的工作表是否存在。 128 【例9-14】 隱藏工作表并通過菜單取消隱藏。 128 【例9-15】 隱藏工作表但不能通過菜單取消隱藏。 128 【例9-16】 顯示被隱藏的工作表。 129 【例9-17】 重命名工作表。 129 【例9-18】 新建一個工作表并重命名。 130 【例9-19】 新建多個工作表并重命名。 130 【例9-20】 在本工作簿內復制工作表。 131 【例9-21】 將本工作簿內的指定工作表復制到一個新工作簿中。 131 【例9-22】 將本工作簿內的某工作表復制到另外一個打開的工作簿中。 131 【例9-23】 在本工作簿內移動指定的工作表。 132 【例9-24】 將本工作簿內的指定工作表移動到一個新工作簿中。 132 【例9-25】 將本工作簿內的某工作表移動到另外一個打開的工作簿中。 132 【例9-26】 刪除工作表。 133 【例9-27】 保護工作表。 133 【例9-28】 撤銷對工作表的保護。 134 【例9-29】 顯示和隱藏指定工作表的行號和列標。 134 【例9-30】 Activate事件和Deactivate事件應用舉例。 137 【例9-31】 Change事件應用舉例。 138 【例9-32】 Change事件應用舉例。 138 【例9-33】 Change事件應用舉例。 138 【例9-34】 SelectionChange事件應用舉例。 139 【例9-35】 BeforeDoubleClick事件應用舉例。 139 【例9-36】 BeforeRightClick事件應用舉例。 139 【例9-37】 Calculate事件應用舉例。 140 第10章 操作Range對象 141 【例10-1】 使用Range屬性引用某個單元格。 142 【例10-2】 使用Range屬性引用連續的單元格區域。 142 【例10-3】 使用Range屬性引用不連續的單元格區域。 142 【例10-4】 采用字符串方式使用Range屬性引用不確定的某個單元格。 143 【例10-5】 采用字符串方式使用Range屬性引用不確定的連續單元格區域。 143 【例10-6】 采用字符串方式使用Range屬性引用不確定的不連續單元格區域。 144 【例10-7】 使用Range屬性引用單列。 144 【例10-8】 使用Range屬性引用連續的多列。 144 【例10-9】 使用Range屬性引用不連續的多列。 145 【例10-10】 使用Range屬性引用單行。 145 【例10-11】 使用Range屬性引用連續的多行。 145 【例10-12】 使用Range屬性引用不連續的多行。 145 【例10-13】 通過定義名稱引用單個名稱定義的單元格區域。 146 【例10-14】 通過定義名稱引用多個名稱定義的單元格區域。 146 【例10-15】 使用Cells屬性引用某個單元格。 146 【例10-16】 使用Cells屬性引用連續的單元格區域。 147 【例10-17】 利用Rows屬性引用連續的整行。 147 【例10-18】 利用Rows屬性引用連續的整行:隔行設置單元格顏色。 147 【例10-19】 利用Rows屬性引用不連續的整行。 147 【例10-20】 利用Columns屬性引用連續的整列。 148 【例10-21】 利用Columns屬性引用不連續的整列。 148 【例10-22】 選擇當前工作表的全部單元格。 148 【例10-23】 顯示活動單元格的地址。 148 【例10-24】 使用UsedRange屬性引用已使用的單元格區域。 149 【例10-25】 引用被空白行和空白列包圍的單元格區域。 149 【例10-26】 利用Offset屬性動態引用某個單元格。 150 【例10-27】 利用Offset屬性動態引用連續的單元格區域。 150 【例10-28】 利用Resize屬性引用變化后的單元格區域。 150 【例10-29】 利用Union方法引用多個非連續單元格區域。 151 【例10-30】 引用多個單元格區域的交叉區域。 151 【例10-31】 引用已用單元格區域中有計算公式的所有單元格。 152 【例10-32】 引用工作表中所有計算公式的單元格。 153 【例10-33】 在隱藏的行或列中輸入數據。 153 【例10-34】 引用指定單元格區域內的所有空白單元格。 153 【例10-35】 引用指定單元格區域內的所有設置有數據有效性的單元格。 154 【例10-36】 引用指定單元格區域內的所有可見單元格。 154 【例10-37】 引用指定單元格區域內的所有出現錯誤的單元格。 155 【例10-38】 引用指定單元格區域內有批注的單元格。 155 【例10-39】 引用指定單元格區域內所有設置有條件格式的單元格。 156 【例10-40】 獲取已用單元格區域的地址。 156 【例10-41】 使用Address獲取單元格地址的列標字母。 157 【例10-42】 使用Chr函數獲取指定數字對應的列標字母。 157 【例10-43】 獲取單元格區域的起始行號和終止行號。 157 【例10-44】 獲取單元格區域的起始列號和終止列號。 158 【例10-45】 利用HasFormula屬性判斷給定單元格內是否輸入了公式。 159 【例10-46】 利用字符串處理的方法判斷單元格內是否輸入了公式。 159 【例10-47】 判斷指定單元格內是否輸入了數組公式。 159 【例10-48】 獲取單元格內的公式字符串。 160 【例10-49】 獲取單元格的字體對象信息。 160 【例10-50】 獲取單元格的內部對象信息。 161 【例10-51】 設置單元格的字體屬性。 161 【例10-52】 設置單元格區域外邊框。 162 【例10-53】 設置單元格區域的全部邊框。 163 【例10-54】 刪除單元格區域的全部邊框。 163 【例10-55】 設置指定單元格的顏色和背景。 164 【例10-56】 設置單元格的有效性規則。 165 【例10-57】 為單元格設置或刪除超鏈接。 167 【例10-58】 為單元格添加和刪除批注。 167 【例10-59】 為單元格區域定義和刪除名稱。 168 【例10-60】 自動調整指定單元格區域的列寬和行高。 168 【例10-61】 設置指定單元格的行高和列寬。 168 【例10-62】 插入單元格。 171 【例10-63】 插入整行和整列。 171 【例10-64】 每隔3行插入1個空行。 171 【例10-65】 刪除單元格。 172 【例10-66】 刪除整行和整列。 172 【例10-67】 刪除數據區域的所有空行。 173 【例10-68】 刪除數據區域的全部空列。 173 【例10-69】 移動單元格。 174 【例10-70】 復制單元格的全部信息。 174 【例10-71】 只復制單元格的值。 175 【例10-72】 只復制單元格公式。 176 【例10-73】 只復制單元格的格式。 176 【例10-74】 只復制單元格批注。 176 【例10-75】 只復制單元格的有效性設置。 177 【例10-76】 為不同的單元格區域設置不同的保護密碼。 177 【例10-77】 刪除設置的分區保護。 178 【例10-78】 向單元格輸入數值。 178 【例10-79】 向單元格輸入字符串。 179 【例10-80】 向單元格輸入數組公式。 179 【例10-81】 向單元格輸入日期。 179 【例10-82】 向單元格輸入時間。 180 【例10-83】 向單元格輸入分數。 180 【例10-84】 向單元格輸入郵政編碼的兩種方法。 181 【例10-85】 向指定的單元格區域輸入連續值。 182 【例10-86】 快速向單元格區域輸入連續的日期。 182 【例10-87】 快速向單元格區域輸入具有固定日期間隔的日期。 183 【例10-88】 快速向某些單元格輸入帶小數點的數字。 183 【例10-89】 不激活工作表就向該工作表輸入數據。 184 【例10-90】 同時為多個工作表的相同單元格區域輸入相同的數據。 184 第11章 使用窗體 185 【例11-1】 更改窗體的標題文字。 188 【例11-2】 在運行程序時為窗體添加圖片。 189 【例11-3】 改變窗體的大小。 191 【例11-4】 設置窗體外觀。 193 【例11-5】 在裝載窗體時就執行程序。 196 【例11-6】 在激活窗體時就執行程序。 196 【例11-7】 在單擊時就執行程序。 197 【例11-8】 禁止使用窗體右上角的X按鈕關閉窗體。 197 【例11-9】 將窗體顯示在窗口的指定位置。 198 【例11-10】 利用Left屬性和Top屬性將窗體顯示在窗口的指定位置。 199 【例11-11】 使窗體自動布滿整個屏幕。 199 【例11-12】 隱藏和顯示用戶窗體的X按鈕。 200 【例11-13】 將用戶窗體的X按鈕設置為有效和無效。 201 【例11-14】 為用戶窗體添加最大化和最小化按鈕。 202 【例11-15】 在啟動工作簿時僅顯示窗體,而不顯示Excel界面。 203 【例11-16】 設計有上下滾動字幕的窗體。 203 【例11-17】 設計有左右滾動字幕的窗體。 204 【例11-18】 在激活窗體時就播放音樂。 205 【例11-19】 在窗體上插入Media Player控件來播放音樂。 205 【例11-20】 運行時創建窗體和控件并為其設計事件程序代碼。 207 第12章 使用控件 210 【例12-1】 在程序運行時設置控件的共有屬性。 213 【例12-2】 引用窗體上的某一類控件。 216 【例12-3】 引用窗體上的全部控件。 216 【例12-4】 獲取窗體上所有控件的名稱和類型。 216 【例12-5】 使用數組函數引用窗體上的控件。 217 【例12-6】 獲取控件的有關信息。 217 【例12-7】 顯示和隱藏控件。 218 【例12-8】 利用Enabled屬性設置控件的可操作性。 218 【例12-9】 利用Locked屬性設置控件的可操作性。 219 【例12-10】 當鼠標停留在控件上面時顯示提示信息。 219 【例12-11】 當鼠標停留在控件上面時改變鼠標指針類型。 219 【例12-12】 當鼠標停留在控件上面時改變鼠標的圖像。 220 【例12-13】 當鼠標停留在控件上面時改變控件顏色,離開時恢復默認顏色。 221 【例12-14】 利用標簽制作進度條。 223 【例12-15】 當單擊標簽時就執行程序。 224 【例12-16】 設置文本框內字符的顯示格式。 226 【例12-17】 限制文本框內輸入的字符長度。 226 【例12-18】 限制文本框內的輸入數據。 226 【例12-19】 不顯示輸入到文本框的內容。 227 【例12-20】 將文本框設置為自動換行。 227 【例12-21】 使文本框內字符在任意字符后換行。 228 【例12-22】 設置文本框為必須輸入狀態。 229 【例12-23】 將文本框限制為只能輸入負號、數字和小數點。 229 【例12-24】 限制只能在文本框中輸入字母。 230 【例12-25】 當修改文本框中內容時就執行程序。 230 【例12-26】 當文本框數據變更后就執行程序。 230 【例12-27】 在文本框中輸入數據后就朗讀出來。 230 【例12-28】 在文本框獲得焦點時改變背景色。 231 【例12-29】 在單擊按鈕時就執行程序。 232 【例12-30】 在單擊按鈕時就朗讀出提示信息。 232 【例12-31】 設置復選框的標題文字及對齊方式。 233 【例12-32】 判斷復選框是否被選中。 233 【例12-33】 設置選項按鈕的標題文字及對齊方式。 234 【例12-34】 能夠同時選擇兩個以上的選項按鈕。 234 【例12-35】 將框架設計為兩條水平平行線或一條水平直線。 236 【例12-36】 將框架設計為兩條垂直平行線或一條垂直直線。 236 【例12-37】 獲取框架Frame1內的所有控件名稱及其值。 236 【例12-38】 利用AddItem方法為復合框列表添加項目。 237 【例12-39】 利用RowSource屬性為復合框ComboBox1添加項目。 237 【例12-40】 利用List屬性為復合框設置項目。 238 【例12-41】 使用工作表中的數據,并利用List屬性為復合框設置項目。 238 【例12-42】 利用Column屬性為復合框列表添加項目。 238 【例12-43】 利用Value屬性獲取復合框的某條項目值。 239 【例12-44】 利用List屬性獲取復合框的某條項目值。 239 【例12-45】 利用Column屬性獲取復合框的某條項目值。 239 【例12-46】 利用數組獲取復合框的某條項目值。 240 【例12-47】 利用RemoveItem方法將復合框內的某條項目刪除。 241 【例12-48】 設置復合框的顯示類型和行為。 241 【例12-49】 將復合框設置為必須選擇或必須輸入狀態。 242 【例12-50】 在復合框的值發生改變時就執行程序。 242 【例12-51】 利用AddItem方法為列表框列表添加項目。 243 【例12-52】 利用RowSource屬性為列表框ListBox1添加項目。 243 【例12-53】 利用List屬性為列表框設置項目。 244 【例12-54】 利用Column屬性為列表框列表添加項目。 245 【例12-55】 利用Value屬性獲取列表框的某條項目值。 245 【例12-56】 利用List屬性獲取列表框的某條項目值。 245 【例12-57】 利用Column屬性獲取列表框的某條項目值。 246 【例12-58】 利用Clear方法刪除列表框的全部項目。 246 【例12-59】 利用RemoveItem方法將列表框內的某條項目刪除。 247 【例12-60】 設置列表框為多選狀態。 247 【例12-61】 在列表框的值發生改變時就執行程序。 248 【例12-62】 在單擊列表框時就執行程序。 248 【例12-63】 使用圖像控件顯示圖片。 249 【例12-64】 利用工作表數據為圖像控件添加圖片。 250 【例12-65】 實現旋轉按鈕與文本框的聯動。 251 【例12-66】 實現滾動條與工作表滾動條的同步聯動。 252 【例12-67】 利用滾動條進行顏色調整和配色。 252 【例12-68】 多頁控件使用舉例。 253 【例12-69】 切換按鈕使用舉例。 254 【例12-70】 利用標簽條(TabStrip控件)動態顯示數據。 255 【例12-71】 利用ProgressBar控件設置一個顯示計算過程的進度條。 256 【例12-72】 利用ListView控件在窗體上制作報表。 257 【例12-73】 利用TreeView控件在窗體上顯示多維數據。 259 【例12-74】 利用Spreadsheet控件在窗體上編輯數據。 261 【例12-75】 利用ChartSpace控件在窗體上繪制動態圖表。 262 【例12-76】 利用ChartSpace控件在窗體上繪制動態圖表。 263 【例12-77】 日歷控件使用舉例。 265 【例12-78】 DTPicker控件屬性設置和事件使用練習。 266 【例12-79】 自動在工作表中插入ActiveX控件。 267 【例12-80】 在工作表中自動插入ActiveX控件對象并重命名。 268 【例12-81】 設置ActiveX控件的標題文字及字體屬性。 269 【例12-82】 設置ActiveX控件的前景色和背景色。 270 【例12-83】 設置ActiveX控件的大小和位置。 270 【例12-84】 獲取ActiveX控件的值。 271 【例12-85】 每單擊一次按鈕就執行不同的操作。 272 【例12-86】 為控件指定多個事件。 272 【例12-87】 將文本框類別化以控制輸入數據。 273 第13章 操作菜單和工具欄 275 【例13-1】 獲取Excel菜單欄信息。 276 【例13-2】 獲取Excel【文件】菜單項信息。 277 【例13-3】 獲取Excel【編輯】菜單項信息。 278 【例13-4】 獲取Excel【視圖】菜單項信息。 279 【例13-5】 獲取Excel【插入】菜單項信息。 280 【例13-6】 獲取Excel【格式】菜單項信息。 281 【例13-7】 獲取Excel【工具】菜單項信息。 281 【例13-8】 獲取Excel【數據】菜單項信息。 282 【例13-9】 獲取Excel【窗口】菜單項信息。 283 【例13-10】 獲取Excel所有工具欄信息清單。 284 【例13-11】 獲取Excel標準工具欄信息。 285 【例13-12】 獲取Excel格式工具欄信息。 286 【例13-13】 獲取Excel命令按鈕的Icon和FaceID。 287 【例13-14】 刪除Excel菜單欄中的【幫助】子菜單。 289 【例13-15】 隱藏和恢復Excel的標準工具欄和 格式工具欄。 289 【例13-16】 在現有的菜單中添加或刪除自定義菜單命令項。 290 【例13-17】 在Excel菜單欄中創建和刪除自定義子菜單。 291 【例13-18】 改變Excel命令按鈕的Icon。 292 【例13-19】 在菜單欄或工具欄中添加自定義命令按鈕。 293 【例13-20】 在Excel的工具欄中創建一個自定義組合框命令按鈕。 294 【例13-21】 在Excel的工具欄中創建一個自定義下拉命令按鈕。 295 【例13-22】 創建自定義主菜單欄。 297 【例13-23】 創建和刪除自定義工具欄。 299 【例13-24】 創建和刪除由內置命令組成的自定義工具欄。 301 【例13-25】 為每個工作表設計不同的自定義工具欄。 302 【例13-26】 獲取Excel的全部快捷菜單信息。 304 【例13-27】 為快捷菜單添加或刪除菜單項。 305 【例13-28】 為快捷菜單添加和刪除內置命令。 306 【例13-29】 為某些單元格區域創建一個全新的快捷菜單。 307 【例13-30】 為窗體控件創建自定義快捷菜單。 308 第14章 利用VBA處理工作表數據 310 【例14-1】 查詢工作表中符合條件的數值和公式字符串。 311 【例14-2】 利用Find方法查詢數值及公式結果。 312 【例14-3】 利用工作表函數Match查詢數值及公式結果。 313 【例14-4】 利用工作表函數VLookup查詢數值及公式結果。 313 【例14-5】 聯合利用Find方法和Offset屬性查詢數值及公式結果。 314 【例14-6】 使用數據庫函數DGet查詢數值及公式結果。 314 【例14-7】 利用Like運算符進行模糊查詢。 315 【例14-8】 從多個工作表或工作簿中查詢數據。 315 【例14-9】 刪除數據區域內的所有空白行。 316 【例14-10】 獲取存在于兩個工作表中相同數據的行數據。 316 【例14-11】 獲取只存在于某個工作表中的行數據。 317 【例14-12】 從一個工作表中刪除另一個工作表中存在的行數據。 318 【例14-13】 自動排序舉例。 319 【例14-14】 自定義排序舉例。 320 【例14-15】 先進行排序然后再恢復排序前的狀態。 320 【例14-16】 執行自動篩選和撤銷自動篩選。 322 【例14-17】 執行高級篩選和撤銷高級篩選。 323 【例14-18】 執行高級篩選和撤銷高級篩選。 323 【例14-19】 利用ADO+SQL進行復雜條件下的查詢。 324 【例14-20】 利用ADO+SQL從工作簿的全部工作表中查詢獲取數據。 325 【例14-21】 利用ADO+SQL查詢其他工作簿的數據。 326 【例14-22】 利用ADO+SQL對工作表數據進行復雜排序。 327 第15章 操作文件和文件夾 329 【例15-1】 利用Dir函數判斷指定的文件夾是否存在。 330 【例15-2】 利用GetAttr函數獲取文件夾的屬性。 331 【例15-3】 使用MkDir語句創建文件夾。 331 【例15-4】 利用Name語句移動文件夾。 332 【例15-5】 利用Name語句更改文件夾名稱。 332 【例15-6】 使用RmDir語句刪除文件夾。 332 【例15-7】 使用Dir函數判斷文件是否存在。 333 【例15-8】 獲取文件的有關信息。 333 【例15-9】 使用FileCopy語句復制文件。 334 【例15-10】 利用Name語句移動文件。 334 【例15-11】 使用Kill語句刪除文件。 335 【例15-12】 利用Name語句更改文件名。 335 【例15-13】 利用Dir函數和Name方法批量更改文件名。 335 【例15-14】 利用Dir函數和Kill方法批量刪除文件。 336 【例15-15】 利用Application對象的FileSearch屬性查找文件。 336 【例15-16】 利用FileSystemObject對象的GetFile方法獲取文件的信息。 338 【例15-17】 使用FileExists方法檢查文件是否存在。 338 【例15-18】 使用CopyFile方法復制文件。 339 【例15-19】 使用DeleteFile方法刪除文件。 339 |
序: |
|