Excel VBA 經典程式碼:一行抵萬行「偷懶程式碼」應用大全 (上)
內容描述
高手不藏私的萬用工具箱,讀者只需稍加修改程式碼,即可應用全書所有實戰案例!
本書特色
本書由多位微軟MVP頂尖專家所領軍,其團隊擅長大數據商業智慧(BI)、企業級大型資料庫、Excel數據分析及建模經驗、實現高效與自動化辦公等多項領域,主要任務是針對稍有Excel VBA程式設計基礎的讀者,提供大量Excel VBA的經典用法及程式碼,透過詳盡的講解,加速理解Excel VBA的各項技術特點,進而達到現學現用的效果。
讀完本書,您將學會:
♦ Excel VBA基本知識和方法,有效提升工作效率與自動化水準
♦ 獨特的程式設計,展現及發揮Excel VBA的精髓
♦ 提升Excel資料處理與分析的實戰技巧
♦ 打破Excel常規局限,實現難以實作的功能
♦ 擴充Excel內建功能,補充功能豐富的VBA技術
好評推薦
「本書全面展現 Excel VBA 的各項應用,從整體配置到知識架構,完全遵循使用者的學習規律,其中可學習到操作 Excel 物件、檔案系統操作、互動設計、資料庫應用、進階程式設計,以及程式碼最佳化等系統性知識,有助於掌握 Excel VBA 的各種面向與精髓。」 ─────Excel Home雲課堂學員 向緒志
「如果急需學習 Excel VBA ,卻又茫然不知如何入手時,不妨拿起本書。它內容厚實,條理清晰,圖文並茂,講解深入淺出,沒有程式設計基礎的新手也可以快速上手操作。書中貼近實戰的案例,只要稍加改動程式碼,即可應用於工作中,可說是不可多得的工具箱!」─────Excel Home雲課堂學員 任宣秈
目錄大綱
***上冊***
第一篇 VBA 基礎
01 Excel 2016中VBA的工作環境
1.1 使用【開發人員】索引標籤
1.2 使用巨集功能的其他方法
1.3 儲存巨集程式碼的檔案格式
1.4 巨集安全性設定
1.5 啟用活頁簿中的巨集
1.6 信任位置
1.7 錄製巨集程式碼
1.8 執行巨集程式碼
第二篇 操作Excel 物件
02 視窗和應用程式
2.1 設定 Excel 視窗狀態
2.2 設定 Excel 全螢幕顯示
2.3 限定活頁簿視窗大小
2.4 隱藏 Excel 主視窗
2.5 利用狀態列顯示提示訊息
2.6 Excel 中的「計時器」
2.7 精美的數字碼表
2.8 暫停巨集程式碼的執行
2.9 防止使用者干預巨集程式碼的執行
2.10 呼叫變數名稱指定的巨集程序
2.11 利用OnKey 方法捕捉鍵盤輸入
2.12 使用SendKeys 方法模擬鍵盤輸入
2.13 巧妙捕捉使用者中斷
2.14 使用 Application 級別事件
03 活頁簿和工作表
3.1 參照工作表
3.2 增加新工作表
3.3 防止更改工作表的名稱
3.4 判斷活頁簿是否存在指定名稱的工作表
3.5 按名稱排序工作表
3.6 限制工作表捲動區域
3.7 操作受保護的工作表
3.8 在指定儲存格區域禁止顯示右鍵功能表
3.9 選中所有工作表
3.10 在VBA 使用工作表函數
3.11 判斷是否存在指定名稱的活頁簿
3.12 參照活頁簿
3.13 新建活頁簿
3.14 匯入文字檔的資料
3.15 儲存活頁簿
3.16 儲存指定工作表到新的活頁簿
3.17 禁止活頁簿另存新檔
3.18 關閉活頁簿不顯示儲存對話方塊
3.19 限制活頁簿只能透過程式碼關閉
3.20 開啟啟用巨集的活頁簿時停用巨集
3.21 開啟活頁簿時禁止更新連結
3.22 定義隱藏的名稱
3.23 實作活頁簿「自殺」功能
3.24 限制活頁簿的使用次數
04 使用Range 物件
4.1 參照儲存格區域
4.2 取得最後一個非空儲存格
4.3 隨心所欲複製儲存格區域
4.4 僅複製值到另一區域
4.5 對列進行快速分組
4.6 取得兩個儲存格區域的交叉區域
4.7 聯合多個儲存格區域
4.8 判斷一個區域是否包含在另一個區域中
4.9 設定字元格式
4.10 儲存格區域加上外框
4.11 醒目提示顯示儲存格區域
4.12 動態設定儲存格資料驗證清單
4.13 將儲存格公式轉換為數值
4.14 判斷儲存格公式是否有錯誤
4.15 批次刪除所有錯誤值
4.16 返回指定行的行標
4.17 判斷儲存格是否存在註解
4.18 為儲存格增加註解
4.19 編輯註解文字
4.20 修改註解外觀
4.21 顯示圖片註解
4.22 設定註解字型
4.23 快速判斷儲存格區域是否存在合併儲存格
4.24 合併儲存格時連接每個儲存格內容
4.25 取消合併時,在每個儲存格中保留內容
4.26 合併內容相同的單行連續儲存格
4.27 找尋包含指定字串的所有儲存格
4.28 合併計算多個工作表的資料
4.29 合併計算多個活頁簿的工作表
4.30 按照指定條件自動篩選資料
4.31 多條件篩選
4.32 取得符合篩選條件的記錄數
4.33 判斷篩選結果是否為空
4.34 複製自動篩選後的資料區域
4.35 使用刪除重複項取得不重複的記錄
4.36 刪除空列
4.37 判斷是否選中整列
4.38 工作表中一次插入多列
4.39 控制插入儲存格區域的格式
4.40 批次刪除奇數列
4.41 資料排序
4.42 多關鍵字排序
4.43 自訂清單排序
4.44 建立樞紐分析表
05 使用Chart 物件
5.1 自動建立圖表
5.2 建立線柱組合圖表
5.3 取得資料數列的參照區域
5.4 自動加上平均值輔助線
5.5 自訂資料標籤文字
5.6 動態圖表
5.7 使用嵌入圖表事件
5.8 條件格式化資料標記
5.9 將圖表儲存為圖片
06 使用Shape 物件
6.1 巡訪工作表中的 Shape 物件
6.2 在工作表中快速增加Shape 物件
6.3 組合多個Shape 物件
6.4 將Shape 物件另存為圖片
6.5 編輯Shape 物件的文字
6.6 製作圖片產品目錄
第三篇 互動設計
07 使用訊息方塊
7.1 顯示簡單的提示訊息
7.2 自訂個性化的訊息方塊
7.3 取得訊息方塊的返回值
7.4 自動延時關閉的訊息方塊
08 簡單的資料輸入
8.1 簡單的輸入介面
8.2 更安全的密碼輸入介面
8.3 輕鬆取得儲存格區域位址
8.4 防止使用者輸入錯誤資料
09 Excel 內建對話方塊
9.1 使用Excel 的內建對話方塊
9.2 取得使用者選擇的檔名
9.3 取得使用者選擇的資料夾
10 功能表和工具列
10.1 禁用右鍵快顯功能表
10.2 列出所有命令列控制項
10.3 自訂功能表命令
10.4 自訂工具列
10.5 自訂儲存格右鍵快顯功能表
10.6 使用自訂右鍵快顯功能表輸入資料
10.7 快速列出作業系統中的所有字體
11 Ribbon 功能區
11.1 自訂功能區介面
11.2 編寫VBA 程式碼處理回呼
11.3 使用自訂圖片和內建圖示
11.4 動態自訂功能區控制項的屬性
11.5 自訂功能區提示訊息和快速鍵
11.6 自訂內建索引標籤
11.7 使用VBA 操作功能區
11.8 重設功能區內建控制項
11.9 自訂快速存取工具列
11.10 自訂【檔案】索引標籤
11.11 自訂上下文索引標籤
11.12 使用對話方塊啟動器
11.13 使用下拉式方塊
11.14 使用動態功能表
11.15 使用樣式庫控制項
12 控制項的應用
12.1 限制文字方塊的輸入
12.2 自動換列的文字方塊
12.3 自動選擇文字方塊內容
12.4 製作跑馬燈字幕
12.5 在下拉式方塊和清單方塊增加項目
12.6 移動清單方塊的項目
12.7 允許多選的清單方塊
12.8 設定多行下拉式方塊和清單方塊
12.9 二級下拉式方塊
12.10 輸入時逐步提示訊息
12.11 使用控制項輸入日期
12.12 使用RefEdit 控制項取得儲存格區域
12.13 使用多重頁面控制項
12.14 使用TabStrip 控制項
12.15 使用ListView 控制項
12.16 使用TreeView 控制項顯示層級
12.17 使用WebBrowser 控制項顯示GIF 動畫
12.18 使用ShockwaveFlash 控制項播放Flash 檔
12.19 製作進度條
12.20 不列印工作表中的控制項
12.21 巡訪控制項的多種方法
12.22 使用程式碼在工作表中增加控制項
13 使用者表單的應用
13.1 呼叫使用者表單
13.2 製作歡迎介面表單
13.3 在使用者表單標題列上增加最大化和最小化按鈕
13.4 停用使用者表單標題列的關閉按鈕
13.5 在使用者表單上增加功能表
13.6 在使用者表單上增加工具列
13.7 在使用者表單上增加狀態列
13.8 透明的使用者表單
13.9 調整使用者表單的顯示位置
13.10 在使用者表單上顯示圖表
13.11 列印使用者表單
13.12 全螢幕顯示使用者表單
13.13 使用者表單執行時拖動控制項
13.14 使用自訂顏色設定使用者表單顏色
13.15 自訂使用者表單的滑鼠指標類型
13.16 使用程式碼增加使用者表單及控制項
***下冊***
第四篇 檔案系統操作
14 目錄和檔案操作
14.1 判斷檔案或資料夾是否存在
14.2 重新命名檔案、資料夾
14.3 取得檔案資訊和屬性
14.4 取得磁碟路徑資訊
14.5 使用FSO 物件操作資料夾
14.6 使用FSO 物件操作檔案
14.7 使用FSO 物件找尋檔案
14.8 開啟和關閉指定的資料夾
14.9 取得常用路徑
15 檔案的輸入輸出
15.1 讀寫文字檔
15.2 使用FSO 物件讀寫文字檔
15.3 儲存指定區域內容到一個文字檔
15.4 讀寫文字檔的指定列
15.5 操作註冊表
第五篇 資料庫應用
16 ADO 應用
16.1 建立資料庫連接
16.2 建立查詢記錄集
16.3 動態建立Access 資料庫檔案
16.4 取得資料庫所有資料表的資訊
16.5 動態建立資料表
16.6 動態建立連結表
16.7 在資料庫中建立檢視
16.8 對資料表增加、刪除、修改欄位
16.9 建立多資料庫查詢
16.10 將工作表、資料表或查詢產生新的資料表
16.11 批次刪除資料表的記錄
16.12 從資料表或查詢批次新增資料表的記錄
16.13 批次修改資料表的記錄
16.14 從Excel 工作表對資料表增加新記錄、更新舊記錄
16.15 在資料庫中儲存照片
16.16 製作附帶照片的工作表
16.17 查詢不重複的記錄
16.18 查詢前n 筆最大值記錄
16.19 分組總合查詢
16.20 從欄位不完全相同的多個活頁簿取得資料
16.21 使用內、外連接實作欄位配對
16.22 比較兩工作表,取得相同和不同的項目
16.23 使用SQL 查詢建立樞紐分析表
16.24 查詢文字檔中的資料
16.25 多類型表內連接關聯查詢
16.26 TRANSFORM 交叉資料表查詢
16.27 在陣列中儲存查詢結果
16.28 產生各種統計報表
16.29 員工管理系統
第六篇 進階程式設計
17 Excel 與Internet
17.1 建立和開啟超連結
17.2 使用Lotus Notes 傳送郵件
17.3 使用MailEnvelope 傳送郵件
17.4 網路抓取基礎知識概要
17.5 Fiddler 的安裝、設定與使用
17.6 取得搜尋引擎的查詢結果
17.7 使用有道翻譯實現中英互譯
17.8 取得當當網圖書資料
17.9 瞭解IE物件
17.10 使用IE自動登入網頁
17.11 製作簡易的網頁瀏覽器
17.12 解析JSON 檔案
17.13 取得網頁中的表格資料
17.14 下載網頁中的圖片與其他檔案
17.15 對非UTF-8 格式的資料進行編碼轉換
17.16 WinHttp 物件和處理防盜鏈
18 Excel 操作XML
18.1 快速建立XML 檔案
18.2 自訂Excel RSS 閱讀器
19 操作其他Office應用程式
19.1 前期繫結與後期繫結
19.2 將試算表資料透過Outlook 郵件傳送
19.3 將Excel 資料輸出到PowerPoint 簡報
19.4 將Excel 資料輸出到Word 文件
20 使用類別模組
20.1 建立和使用自訂物件
20.2 設定類別的預設屬性和為類別增加說明
20.3 捕捉應用程式事件和嵌入圖表事件
20.4 設定螢幕解析度
20.5 使用類別實作控制項陣列
20.6 捕捉儲存格的改變
20.7 利用介面實現類別的多型
20.8 建立自訂的集合
20.9 跨專案使用類別
20.10 使用.NET Framework的類別
20.11 監控Shape 物件
21 VBE 相關操作
21.1 設定信任存取VBA 專案物件模型
21.2 參照VBA 擴充類別庫
21.3 列出專案中所有元件資訊
21.4 自動增加模組和程式碼
21.5 快速列出模組中的所有程序
21.6 自動為物件增加事件程序和程式碼
22 陣列與字典
22.1 利用陣列完成資料交換
22.2 列出符合條件的資訊
22.3 按指定字元拆分字串
22.4 以指定分隔符號連接字串
22.5 以指定條件連接字串
22.6 多表查詢
22.7 兩行資料比較重複
22.8 精確找尋陣列資料
22.9 按條件拆分工作表
22.10 利用陣列製作工資條
22.11 泡沫排序法
22.12 字典的前期繫結與後期繫結
22.13 字典物件的常用方法與屬性
22.14 利用字典實作條件查詢
22.15 利用字典實作分類總合
22.16 利用字典製作二級功能表
22.17 利用字典與陣列實作多條件查詢
第七篇 程式碼偵錯與最佳化
23 程式碼偵錯
23.1 切換中斷點
23.2 使用Debug 物件
23.3 使用【即時運算視窗】
24 錯誤處理
24.1 捕捉錯誤
24.2 處理錯誤
24.3 退出錯誤處理程序
24.4 產生錯誤
24.5 強制宣告變數
25 程式碼最佳化與高效程式設計
25.1 避免使用Variant 類型
25.2 減少引用符號的數量
25.3 利用陣列代替參照Range 物件
25.4 讓程式碼「專注」執行
25.5 快速輸入程式碼
25.6 編寫高效的VBA 程式碼
A 高效辦公必備工具—Excel 易用寶
作者介紹
Excel Home作者簡介
郗金甲
網名taller,微軟全球最有價值專家(MVP)之一,資深大數據商業智慧(BI)顧問和通訊行業專家;擅長多種企業級大型資料庫,對於Excel在BI中的應用具有豐富的經驗,開發過多個解決方案。暢銷圖書《Excel應用大全》系列、《Excel實戰技巧精粹》系列和《Excel數據透視表應用大全》的作者。
王 平
網名wpxxsyzx,Excel Home離任版主。從VB6.0到VB.NET,無論是VBA還是VSTO,這一路一直與VB和Office為伴。
時 坤
網名唐伯狼,Excel Home學院講師,具有豐富的VBA實戰開發經驗,對Excel在各類管理工作中的應用有著深入研究。
郭新建
網名看見星光,微軟全球最有價值專家(MVP)之一,Excel Home論壇PowerBI技術版主,具有豐富的Excel數據分析及建模經驗。
羅子陽
網名隨風,Excel Home學院講師,致力於利用Excel實現高效辦公與自動化辦公,擅長Excel VBA開發。
周慶麟
網名Kevin,微軟全球最有價值專家(MVP)之一,Excel Home創始人、站長,曾參與和策劃編寫了幾十本Office技術暢銷圖書,同時也是一名優秀的技術顧問和培訓講師,有著豐富的授課經驗。