目錄
第1章 Excel VBA,沒你想的那麼難
1.1 Excel 中那些重復又重復的操作
1.1.1 你這樣用Excel,我要吐槽
1.1.2 重復操作,Excel 中隨處可見
1.1.3 重復的操作,就像重復的聲音
1.1.4 Excel 中也有類似的“錄音設備”
1.2 Excel 中的重復操作可以被錄製下來
1.2.1 Excel 中的“錄音設備”
1.2.2 用宏錄製器錄製下在Excel 中的操作
1.2.3 讓錄製下的操作再現一遍
1.3 錄製下的操作,還能這樣重現它
1.3.1 追求執行速度,就用快捷鍵
1.3.2 希望直觀形象,可以用按鈕
1.4 錄製好的宏,為什麼不能執行瞭
1.4.1 宏不能執行,是齣於安全考慮
1.4.2 修改宏安全性,讓Excel 允許執行所有宏
1.5 Excel 用什麼記錄錄下的操作 /17
1.5.1 宏就是一串串可以控製和操作Excel 的代碼
1.5.2 學習VBA,就是學習編寫能控製和操作Excel 的代碼
1.6 VBA,就是我們和Excel 溝通的語言
1.6.1 要使用Excel,需要知道怎樣和它“溝通”
1.6.2 VBA,隻是一種計算機編程語言的名字
1.7 Excel 已能錄製代碼,何需再動手編寫
1.7.1 錄製的宏,不能解決所有問題
1.7.2 隻需簡單修改,便能讓宏的威力大增
1.7.3 自主編寫代碼,讓宏的功能更加靈活
第2章 認識編程工具,開始學習VBA 的第一步
2.1 應該在哪裏編寫VBA 程序
2.2 瞭解VBA 的編程工具—VBE
2.2.1 可以用哪些方法打開VBE 窗口
2.2.2 VBE 窗口中都有什麼
2.3 怎樣在VBE 中編寫VBA 程序
2.3.1 VBA 程序就是完成一個任務所需的一組VBA 代碼
2.3.2 看看VBA 程序都長什麼樣
2.3.3 動手編寫一個VBA 程序
第3章 學習語法,瞭解VBA 編程應遵循的規則
3.1 語法,就是語言錶達時應遵循的規則
3.1.1 不懂語法,錶達就會齣錯
3.1.2 作為一門編程語言,VBA 也有語法
3.1.3 彆擔心,VBA 語法並不復雜
3.2 VBA 中的數據及數據類型
3.2.1 在Excel 中,數據就是保存在單元格中的信息
3.2.2 數據類型,就是對同一類數據的統稱
3.2.3 VBA 將數據分為哪些類型
3.2.4 為什麼要對數據進行分類
3.3 VBA 中存儲數據的容器:變量和常量
3.3.1 程序中的數據保存在哪裏
3.3.2 變量,就是給數據預留的內存空間
3.3.3 常量,通常用於存儲某些固定的數據
3.4 在程序中使用變量存儲數據
3.4.1 聲明變量,就是指定變量的名稱及可存儲的數據類型
3.4.2 還能用這些語句聲明變量
3.4.3 給變量賦值,就是把數據存儲到變量中
3.4.4 讓變量中存儲的數據參與程序計算
3.4.5 關於聲明變量,還應掌握這些知識
3.4.6 不同的變量,作用域也可能不相同
3.4.7 定義不同作用域的變量
3.5 特殊的變量—數組
3.5.1 數組,就是同種類型的多個變量的集閤
3.5.2 怎麼錶示數組中的某個元素
3.5.3 聲明數組時應聲明數組的大小
3.5.4 給數組賦值就是給數組的每個元素分彆賦值
3.5.5 數組的維數
3.5.6 聲明多維數組
3.5.7 聲明動態數組
3.5.8 這種創建數組的方法更簡單
3.5.9 關於數組,這些運算應該掌握
3.5.10 將數組中保存的數據寫入單元格區域
3.6 特殊數據的專用容器—常量
3.6.1 常量就像一次性的紙杯
3.6.2 聲明常量時應同時給常量賦值
3.6.3 常量也有不同的作用域
3.7 對象、集閤及對象的屬性和方法
3.7.1 對象就是用代碼操作和控製的東西
3.7.2 對象的層次結構
3.7.3 集閤就是多個同種類型的對象
3.7.4 怎樣錶示集閤中的某個對象
3.7.5 屬性就是對象包含的內容或具有的特徵
3.7.6 對象和屬性是相對而言的
3.7.7 方法就是在對象上執行的某個動作或操作
3.8 連接數據的橋梁,VBA 中的運算符
3.8.1 算術運算符
3.8.2 比較運算符
3.8.3 文本運算符
3.8.4 邏輯運算符
3.8.5 多種運算中應該先計算誰
3.9 VBA 中的內置函數
3.9.1 函數就是預先定義好的計算
3.9.2 VBA 中有哪些函數
3.10 控製程序執行的基本語句結構
3.10.1 生活中無處不在的選擇
3.10.2 用If 語句解決VBA 中的選擇問題
3.10.3 使用Select Case 語句解決“多選一”的問題
3.10.4 用For...Next 語句循環執行同一段代碼
3.10.5 用For Each...Next 語句循環處理集閤或數組中的成員
3.10.6 用Do 語句按條件控製循環
3.10.7 使用GoTo 語句,讓程序轉到另一條語句去執行
3.10.8 With 語句,簡寫代碼離不開它
3.11 Sub 過程,基本的程序單元
3.11.1 VBA 過程就是完成一個任務所需代碼的組閤
3.11.2 Sub 過程的基本結構
3.11.3 應該把Sub 過程寫在哪裏
3.11.4 Sub 過程的基本結構
3.11.5 過程的作用域
3.11.6 在過程中執行另一個過程
3.11.7 嚮過程傳遞參數 /125
3.12 自定義函數,Function 過程
3.12.1 Function 過程就是用VBA 自定義的函數
3.12.2 試寫一個自定義函數
3.12.3 使用自定義函數完成設定的計算
3.12.4 用自定義函數統計指定顔色的單元格個數
3.12.5 聲明Function 過程的語句結構
3.13 排版和注釋,讓編寫的代碼閱讀性更強
3.13.1 代碼排版,必不可少的習慣
3.13.2 為特殊語句添加注釋,讓代碼的意圖清晰明瞭
第4章 操作對象,解決工作中的實際問題
4.1 與Excel 交流,需要熟悉的常用對象
4.1.1 用VBA 編程就像在廚房裏燒菜
4.1.2 VBA 通過操作不同的對象來控製Excel
4.1.3 使用VBA 編程,應該記住哪些對象
4.2 一切從我開始,最頂層的Application 對象
4.2.1 用ScreenUpdating 屬性設置是否更新屏幕上的內容
4.2.2 設置DisplayAlerts 屬性禁止顯示警告對話框
4.2.3 藉助WorksheetFunction 屬性使用工作錶函數
4.2.4 設置屬性,更改Excel 的工作界麵
4.2.5 Application 對象的子對象
4.3 管理工作簿,瞭解Workbook 對象
4.3.1 Workbook 對象是Workbooks 集閤中的一個成員
4.3.2 訪問對象的屬性,獲得工作簿文件的信息
4.3.3 用Add 方法創建工作簿
4.3.4 用Open 方法打開工作簿
4.3.5 用Activate 方法激活工作簿
4.3.6 保存工作簿文件
4.3.7 用Close 方法關閉工作簿
4.3.8 ThisWorkbook 與ActiveWorkbook
4.4 操作工作錶,認識Worksheet 對象
4.4.1 引用工作錶的3 種方法
4.4.2 用Add 方法新建工作錶
4.4.3 設置Name 屬性,更改工作錶的標簽名稱
4.4.4 用Delete 方法刪除工作錶
4.4.5 激活工作錶的兩種方法
4.4.6 用Copy 方法復製工作錶
4.4.7 用Move 方法移動工作錶
4.4.8 設置Visible 屬性,隱藏或顯示工作錶
4.4.9 訪問Count 屬性,獲得工作簿中的工作錶數量
4.4.10 容易混淆的Sheets 與Worksheets 對象
4.5 操作的核心,至關重要的Range 對象
4.5.1 用Range 屬性引用單元格
4.5.2 用Cells 屬性引用單元格
4.5.3 引用單元格,更簡短的快捷方式
4.5.4 引用整行單元格
4.5.5 引用整列單元格
4.5.6 用Union 方法閤並多個單元格區域
4.5.7 Range 對象的Offset 屬性
4.5.8 Range 對象的Resize 屬性
4.5.9 Worksheet 對象的UsedRange 屬性
4.5.10 Range 對象的CurrentRegion 屬性
4.5.11 Range 對象的End 屬性
4.5.12 單元格中的內容:Value 屬性
4.5.13 訪問Count 屬性,獲得區域中包含的單元格個數
4.5.14 通過Address 屬性獲得單元格的地址
4.5.15 用Activate 與Select 方法選中單元格
4.5.16 選擇清除單元格中的信息
4.5.17 用Copy 方法復製單元格區域
4.5.18 用Cut 方法剪切單元格
4.5.19 用Delete 方法刪除指定的單元格
4.6 結閤例子,學習怎樣操作對象
4.6.1 根據需求創建工作簿
4.6.2 判斷某個工作簿是否已經打開
4.6.3 判斷文件夾中是否存在指定名稱的工作簿文件
4.6.4 嚮未打開的工作簿中輸入數據
4.6.5 隱藏活動工作錶外的所有工作錶
4.6.6 批量新建指定名稱的工作錶
4.6.7 批量對數據分類,並保存到不同的工作錶中
4.6.8 將多張工作錶中的數據閤並到一張工作錶中
4.6.9 將工作簿中的每張工作錶都保存為單獨的工作簿文件
4.6.10 將多個工作簿中的數據閤並到同一張工作錶中
4.6.11 為同一工作簿中的工作錶建一個帶鏈接的目錄
第5章 執行程序的自動開關—對象的事件
5.1 用事件替程序安裝一個自動執行的開關
5.1.1 事件就是能被對象識彆的某個操作
5.1.2 事件是怎樣執行程序的
5.1.3 讓Excel 自動響應我們的操作
5.1.4 能自動運行的Sub 過程—事件過程
5.1.5 利用事件,讓Excel 在單元格中寫入當前係統時間
5.2 使用工作錶事件
5.2.1 工作錶事件就是發生在Worksheet 對象中的事件
5.2.2 Worksheet 對象的Change 事件
5.2.3 禁用事件,讓事件過程不再自動執行
5.2.4 一舉多得,巧用Change 事件快速錄入數據
5.2.5 SelectionChange 事件:當選中的單元格改變時發生
5.2.6 看看我該監考哪一場
5.2.7 用批注記錄單元格中數據的修改情況
5.2.8 常用的Worksheet 事件
5.3 使用工作簿事件
5.3.1 工作簿事件就是發生在Workbook 對象中的事件
5.3.2 Open 事件:當打開工作簿的時候發生
5.3.3 BeforeClose 事件:在關閉工作簿之前發生
5.3.4 SheetChange 事件: 更改任意工作錶中的單元格時發生
5.3.5 常用的Workbook 事件
5.4 不是事件的事件
5.4.1 Application 對象的OnKey 方法
5.4.2 Application 對象的OnTime 方法
5.4.3 讓文件每隔5 分鍾自動保存一次
第6章 設計自定義的操作界麵
6.1 需要用什麼來設計操作界麵
6.1.1 為什麼要替程序設計操作界麵
6.1.2 控件,搭建操作界麵必不可少的零件
6.1.3 在工作錶中使用錶單控件
6.1.4 在工作錶中使用ActiveX 控件
6.1.5 錶單控件和ActiveX 控件的區彆
6.2 不需設置,使用現成的對話框
6.2.1 用InputBox 函數創建一個可輸入數據的對話框
6.2.2 用InputBox 方法創建交互對話框
6.2.3 用MsgBox 函數創建輸齣對話框
6.2.4 用FindFile 方法顯示【打開】對話框
6.2.5 用GetOpenFilename 方法顯示【打開】對話框
6.2.6 用GetSaveAsFilename 方法顯示【另存為】對話框
6.2.7 用Application 對象的FileDialog 屬性獲取目錄名稱
6.3 使用窗體對象設計交互界麵
6.3.1 設計界麵,需要用到UserForm 對象
6.3.2 在工程中添加一個用戶窗體
6.3.3 設置屬性,改變窗體的外觀
6.3.4 在窗體上添加和設置控件的功能
6.4 用代碼操作自己設計的窗體
6.4.1 顯示用戶窗體
6.4.2 設置窗體的顯示位置
6.4.3 將窗體顯示為無模式窗體
6.4.4 關閉或隱藏已顯示的窗體
6.5 用戶窗體的事件應用
6.5.1 藉助Initialize 事件初始化窗體
6.5.2 藉助QueryClose 事件讓窗體自帶的【關閉】按鈕失效
6.5.3 窗體對象的其他事件
6.6 編寫代碼,為窗體中的控件設置功能
6.6.1 為【確定】按鈕添加事件過程
6.6.2 使用窗體錄入數據
6.6.3 給【退齣】按鈕添加事件過程
6.6.4 給控件設置快捷鍵
6.6.5 更改控件的Tab 鍵順序
6.7 用窗體製作一個簡易的登錄窗體
6.7.1 設計登錄窗體的界麵
6.7.2 設置初始用戶名和密碼
6.7.3 添加代碼,為控件指定功能
第7章 調試與優化編寫的代碼
7.1 VBA 中可能會發生的錯誤
7.1.1 編譯錯誤
7.1.2 運行時錯誤
7.1.3 邏輯錯誤
7.2 VBA 程序的3 種狀態
7.2.1 設計模式
7.2.2 運行模式
7.2.3 中斷模式
7.3 Excel 已經準備好的調試工具
7.3.1 讓程序進入中斷模式
7.3.2 設置斷點,讓程序暫停執行
7.3.3 使用Stop 語句讓程序暫停執行
7.3.4 在【立即窗口】中查看變量值的變化情況
7.3.5 在【本地窗口】中查看變量的值及類型
7.3.6 使用【監視窗口】監視程序中的變量
7.4 處理運行時錯誤,可能會用到這些語句
7.4.1 On Error GoTo 標簽
7.4.2 On Error Resume Next
7.4.3 On Error GoTo 0
7.5 養成好習慣,讓代碼跑得更快一些
7.5.1 在程序中閤理使用變量
7.5.2 不要用長代碼多次重復引用相同的對象
7.5.3 盡量使用函數完成計算
7.5.4 不要讓代碼執行多餘的操作
7.5.5 閤理使用數組
7.5.6 如果不需要和程序互動,就關閉屏幕更新
· · · · · · (
收起)