第1 章 認識VBA.......................1
第1 節 認識宏.......................1
疑難1 如何顯示“開發工具”選項卡..............1
※在Excel 2007 中顯示“開發工具”選項卡※...................2
疑難2 如何錄製和運行宏..................................3
※宏代碼保存的位置※...........................4
疑難3 如何編輯宏..............................................5
※利用按鈕運行宏※...............................8
疑難4 如何保存帶有宏的工作簿......................8
疑難5 如何屏蔽保存工作簿時的隱私問題警告......................9
疑難6 如何設置宏的安全性............................10
疑難7 如何創建和使用數字證書簽名............12
第2 節 認識VBE..........................15
疑難8 如何打開VBA 編輯器..........................15
疑難9 VBA 編輯器包含哪些窗口...................16
※VBE 各窗口簡介※............................16
※VBE 各窗口位置的調整※................17
※VBE 各窗口的顯示或隱藏※............17
疑難10 VB 編輯器包括哪些工具欄..........................18
第3 節 VBA 代碼編寫及幫助信息.....................18
疑難11 如何創建VBA 程序............................18
※VBA 代碼編寫格式※......................20
疑難12 如何運行及調用VBA 程序................21
※立即窗口的作用※...........................22
疑難13 如何導入或導齣VBA 代碼................22
疑難14 如何獲取VBA 幫助............................24
疑難15 如何使用對象瀏覽器..........................25
※對象瀏覽器※...................................26
第4 節 VBA 基礎........................26
疑難16 如何定義變量使VBA 程序更靈活...............26
※聲明變量※.......................................27
※變量名的命名規則※.......................27
※VBA 的數據類型※.........................27
※數據類型的分類及錶示方式※...............28
※變量的賦值※...................................29
※變量的讀取※...................................30
※VBA 常量※.....................................30
※定長字符串與變長字符串※........... ........30
※隱式聲明※.......................................31
疑難17 如何使多個程序共享變量......................31
※作用域※...........................................32
※全局變量※.......................................32
※局部變量※.......................................32
※模塊級變量※...................................32
※同名變量※.......................................33
疑難18 如何進行變量類型的轉換..................33
※VBA 中的類型轉換函數※...................34
※整數的類型轉換※...........................35
※字符的類型轉換※...........................35
※數據類型的隱式轉換※...................35
疑難19 如何防止變量名稱拼寫錯誤..............36
※Option Explicit 語句※.....................36
※強製顯式聲明變量設置※...............37
※使用編譯功能查錯※.......................37
疑難20 如何利用VBA 進行計算....................38
※文本連接※.......................................39
※算術四則運算※...............................39
※指數運算※.......................................39
※整除※...............................................39
※計算餘數※.......................................39
※比較運算※.......................................39
※運算優先級※...................................40
※在文本中錶示雙引號(")※...............40
疑難21 如何分段計算奬金係數......................40
※IF 分支結構※..................................41
※邏輯運算符※...................................44
※Select…Case 分支結構※................45
※Select…Case 分支結構的條件※.................46
※Select 和IF 分支結構的區彆※.................46
疑難22 如何檢驗文本是否以字母開頭..................47
※Like 運算符※..................................48
※VBA 比較模式※.............................48
疑難23 如何判斷某個數是否為質數..................49
※Do…Loop 循環※.............................50
※退齣Do…Loop 循環※..........................52
※For…Next 循環※.............................53
※退齣For…Next 循環※....................54
※死循環※...........................................54
※退齣多層循環※...............................54
※Goto 語句和行標簽※...........................54
第5 節 練習與思考...............................55
第2 章 數據的基本處理.......................56
第1 節 單元格的選取與賦值....................................56
疑難24 如何選取單元格..................................56
※對象的概念※...................................57
※對象的屬性和方法※.......................57
※單元格對象Range 的錶示方法※...........57
※單元格對象Cells 的錶示方法※.............58
※使用對象變量錶示單元格對象※............59
※Evaluate 方法錶示單元格對象※.........59
※Evaluate 方法的簡寫模式※....................60
※Evaluate 方法的一般模式與簡寫模式的區彆※...............60
※單元格對象的Select 方法※...............................60
疑難25 如何選取單元格區域..........................60
※以地址錶示矩形單元格區域對象※..............61
※以對角單元格錶示矩形單元格區域對象※.............61
※不規則單元格區域的錶示※.......................62
※使用Union 方法獲取閤並區域※...............62
※使用Intersect 方法獲取多個區域的交集※........................63
疑難26 如何讀取單元格的值和顯示的值.................64
※單元格對象的Value 屬性※......................64
※單元格對象的Text 屬性※......................65
※自動列齣成員※...............................65
※單元格的數字格式屬性※...............66
疑難27 如何進行單元格批量賦值...........................66
※利用Value 屬性給單元格賦值※...........67
※For Each…Next 循環※....................68
※使用For Each…Next 循環的注意事項※.......................68
※利用Value 屬性給單元格區域賦值※............................69
※單元格(Range)對象的Address 屬性※.............................69
疑難28 如何嚮單元格輸入公式..................................70
※利用Formula 屬性給單元格輸入公式※............71
※Formula 屬性和Value 屬性的聯係與區彆※....................71
※利用FormulaR1C1 屬性給單元格輸入公式※...........72
※R1C1 引用樣式的規則※......................72
※通過代碼實現粘貼值※......................73
※使用VBA 替代公式實現計算※...............73
疑難29 如何在VBA 中使用工作錶函數進行計算.........................73
※WorksheetFunction 對象※......................74
※VBA 中使用工作錶函數※....................75
※獲取VBA 中工作錶函數的幫助※..................75
第2 節 單元格的格式設置....................................75
疑難30 如何快速設置標題行格式..................75
※With 語句※......................................76
※With 語句的嵌套※..........................76
※Interior 對象※..................................77
※Font 對象※......................................78
※單元格的對齊方式※.......................78
※Selection 對象※...............................78
※利用錄製宏獲取格式設置代碼※............79
※通用的格式設置對象※...................79
疑難31 如何批量生成上標..............................79
※Characters 對象※.............................80
※Font 對象的 Superscript 屬性※...............80
※設置Characters 對象Font 的注意事項※................80
※Characters 屬性的通用性※................81
疑難32 如何快速將列進行分組......................81
※Columns 對象和Rows 對象※...............82
※單列和單行的錶示※.......................82
※多列和多行的錶示※.......................82
※Group 方法和Ungroup 方法※................82
※單元格對象的EntireColumn 屬性和EntireRow 屬性※..................82
※單元格區域的Columns 屬性和Rows 屬性※...................83
※Outline 對象※..................................84
疑難33 如何批量閤並相同的單元格..............84
※Range 的Merge 方法閤並單元格※...............85
※VBA 運行時關閉警告※..................85
※多行中相同的內容處理※..................86
疑難34 如何創建圖片批注..............................86
※批注(Comment)對象※..................87
※批注的添加與刪除※.......................87
※FillFormat 對象※.............................88
※On Error 語句※...............................88
第3 節 單元格的定位與查找...............................89
疑難35 如何利用VBA 程序定義條件格式.............89
※VBA 條件格式的原理※........................90
※錶示整行的方法※...........................91
※日期函數DateSerial※.....................91
※利用工作錶事件實時設置格式※......91
疑難36 如何一次性替換所有的錯誤值.................91
※Range 對象的Find 方法※..................92
※參數省略錶示法※...........................93
※查找格式※.......................................94
※使用Is Nothing 判斷對象是否初始化※................94
※IsError 函數※..................................94
※SpecialCells 方法※..........................95
※Find 方法的一般形式※...................96
※CVErr 函數※...................................97
疑難37 如何獲取最後一行數據的行數..........97
※使用Find 方法查找最後的單元格※.....................99
※Find 方法按行查找和按列查找的區彆※.........................99
※獲取工作錶總行數※.....................100
※單元格對象的End 屬性※.............101
※End 屬性的局限性※.....................101
※其他獲取最後數據行行號的方法※......................102
疑難38 如何按顔色查找單元格....................102
※單元格對象的Clear 方法※..........103
※動態錶示數據區域※.....................104
※單元格對象的Copy 方法※..........104
※單元格對象的選擇性粘貼(PasteSpecial)方法※......................104
第4 節 數據的整理...............................................105
疑難39 如何按條件隱藏數據行....................106
※行和列的隱藏※.............................107
※單元格對象的AutoFilter(自動篩選)方法※.............107
※單元格對象的AdvancedFilter(高級篩選)方法※.........................109
疑難40 如何批量刪除空行............................109
※單元格刪除Delete 方法※............. 110
※單元格刪除的通用算法※.................. 110
※利用Union 獲取整個單元格區域進行統一操作※.................... 111
※Union 方法的注意事項※.......................... 111
※單元格插入Insert 方法※.............................. 112
疑難41 如何實現逐行輸入............................ 112
※Protect 方法和Unprotect 方法※............... 113
※單元格的Locked 屬性※........................ 114
※允許VBA 修改保護後的工作錶※.......... 114
疑難42 如何用VBA 創建下拉列錶........................ 115
※Validation 對象※........................... 115
※Validation 對象的Add 方法※............. 116
疑難43 如何使用VBA 對數據按自定義序列進行排序...................... 117
※單元格對象的Sort 方法※.................. 118
※添加和刪除自定義序列CustomList ※........................... 119
※使用自定義序列排序※....................... 119
※Sort 對象※.....................................120
※排序字段SortField※........................120
※按顔色排序※.................................121
※設置排序區域SetRange 方法※.............121
第5 節 練習與思考...............................................121
第3 章 VBA 常用函數和語句................................122
第1 節 數學函數....................................122
疑難44 如何用VBA 進行四捨五入.....................122
※VBA 的Round 函數※......................123
※VBA 的Round 函數與工作錶Round 函數的區彆※..............123
※在Office 軟件中使用自定義函數替代VBA 的Round 函數※................125
疑難45 如何隨機篩選指定個數的記錄....................125
※隨機數Rnd 函數※........................126
※不重復地挑選數據※.....................127
※Rnd 函數語法※.............................127
※僞隨機數概念※.............................127
※Randomize 語句※..........................127
疑難46 如何利用VBA 轉換十六進製數字............127
※VBA 的Hex 函數※.......................128
※利用工作錶函數進行進製轉換※.................128
※以文本形式錶示數字※.................129
※單元格的Prefix 屬性與Excel 的TransitionNavigKeys 屬性※........129
※其他進製數字在VBA 中的錶示方法※..............129
第2 節 文本函數...................................................129
疑難47 如何判斷某文本中是否包含指定字符.....................129
※Instr 函數※....................................130
※InstrRev 函數※..............................131
疑難48 如何批量替換文本中的指定字符............131
※Replace 函數※...............................132
※單元格對象的Replace 方法※.............133
疑難49 如何根據身份證號碼判斷性彆.............133
※Left、Right 和Mid 函數※.....................135
※Len 函數※.....................................135
疑難50 如何替換文本中指定位置的字符...............135
※MID 語句※....................................136
※使用MID 語句的注意事項※...................136
※MID 語句的優勢和局限性※..............137
第3 節 日期和時間函數......................................137
疑難51 如何獲取和設置計算機中的當前日期.....................137
※Date 函數和Date 語句※....................138
※DateSerial 函數※...........................138
※更改時間及日期的限製※...........................139
※Time 函數和Time 語句※......................139
※Now 函數※....................................139
※VBA 中日期的實質※....................139
疑難52 如何計算閤同到期日期....................140
※DateAdd 函數※.............................140
疑難53 如何提取身份證號碼中的齣生日期並計算年齡.............141
※DateDiff 函數※..............................142
※DateDiff 函數中interval 參數“w”和“ww”的區彆※...............143
※VBA 的DateDiff 函數和工作錶函數DateDif 的區彆※..............143
疑難54 如何將日期轉換成英文格式............144
※Format 函數※................................145
※特殊的英文格式日期※.................146
※使用DatePart 函數獲取日期信息※...........................146
第4 節 其他常用函數和語句.............................147
疑難55 如何求得文本計算式的計算結果..........................147
※去除有規律但內容不定的文本※...............148
※String 函數※..................................148
※Evaluate 方法計算錶達式的值※....................149
※利用VBScript 的Eval 函數計算錶達式的值※.................149
疑難56 如何獲取當前Windows 登錄用戶名.............149
※Environ 函數※...............................150
※獲取所有的係統環境變量※.........150
疑難57 如何為宏創建快捷鍵........................150
※Application.OnKey 方法※.............151
※Application.OnKey 方法的注意事項※...............152
※Application.SendKeys 方法※........152
疑難58 如何定時運行程序............................152
※Application.OnTime 方法※...........153
※使用Application.OnTime 重復執行程序※....................154
※取消Application.OnTime 定時器的方法※......................154
疑難59 如何用VBA 在工作錶中創建文件清單.............................154
※Dir 函數※......................................155
※Dir 函數查找路徑下所有的文件※................156
※GetAttr 函數獲取文件屬性※..................156
※SetAttr 語句修改文件屬性※...................156
疑難60 如何用VBA 將文件復製到另一個文件夾下並改名..............156
※FileCopy 語句※.............................158
※Name…As 語句※..........................158
第5 節 練習與思考...............................................158
第4 章 多錶數據處理..............................................159
第1 節 跨工作錶的數據處理.............................159
疑難61 如何按模闆快速生成指定數量的工作錶.............................159
※工作錶對象(Worksheet)及其錶示方法※........................161
※工作錶集閤和工作錶※.................162
※工作錶常用的基本屬性※.............162
※工作錶的添加與復製※.................163
※工作錶對象(Worksheet)與單元格對象(Range)的關係※..............163
※工作錶的刪除※.............................164
※Application.DisplayAlerts 屬性※.......164
疑難62 如何進行跨錶數據查詢....................165
※跨錶操作單元格※.........................166
※連續查找功能※.............................166
疑難63 如何進行跨錶數據錄入....................167
※ListObject 對象※...........................168
※ListObject 對象的錶示方法※.................169
※ListColumn 對象※.........................169
※嚮ListObject 中添加新數據※......170
※使用VBA 添加ListObject 對象※.......171
※Excel 中數據存儲的結構※...........171
疑難64 如何按照關鍵字批量創建超鏈接...............173
※Hyperlink 對象※............................174
※創建超鏈接※.................................175
※刪除超鏈接及訪問超鏈接※.........175
※創建超鏈接打開指定的宏代碼※.......175
第2 節 跨工作簿的數據處理.............................175
疑難65 如何將多個工作錶保存至單獨的工作簿中.....................176
※工作簿對象(Workbook)及其錶示方法※.........................177
※Application、Workbook、Worksheet 和Range 的關係※.............177
※工作簿(Workbook)對象的常用屬性※..........................178
※工作簿的新建和保存※.................178
※獲取當前文件的目錄※.................180
※跨工作簿復製工作錶※.................180
※使用Application.PathSeparator 獲取係統路徑分隔符※..........180
※SaveAs 和Save 的區彆※..............180
疑難66 如何讀取其他工作簿的數據............181
※打開關閉的工作簿※.....................182
疑難67 如何導入多個工作簿中的工作錶...........183
※導入多個工作簿中的工作錶※.........185
※Application.ScreenUpdating 屬性※...............185
疑難68 如何將當前工作簿備份至指定目錄...........185
※工作簿對象(Workbook)的SaveCopyAs 方法※..............186
※SaveCopyAs 方法和SaveAs 方法的區彆※......................186
第3 節 工作錶和工作簿的事件程序................186
疑難69 動態改變當前選中行的顔色................186
※事件的概念※.................................187
※Worksheet 的Selection_Change 事件※...............................188
※啓用Excel 的事件※......................188
※工作錶事件一覽※.........................188
疑難70 如何實現雙擊標題行即對該列降序排序...........................189
※工作錶雙擊事件(BeforeDoubleClick)※.......................189
疑難71 如何完善數據有效性驗證......................190
※工作錶對象的Change 事件※...............191
※判斷數據是否符閤有效性設置※.......................191
※Change 事件的缺陷※....................191
※利用VBA 撤銷操作※...................192
※事件循環※.....................................192
※禁用事件※.....................................193
疑難72 如何動態隱藏工作錶........................193
※工作錶(Worksheet)對象的Select 方法※......................194
※工作錶激活事件(Activate)和失去激活狀態事件(Deactivate)※.........196
※工作簿事件※.................................197
※類模塊和Me 變量※......................198
疑難73 如何實現必填數據為空則無法保存..............199
※工作簿保存事件(BeforeSave)※................200
疑難74 如何進行個性化的工作錶保護...........200
※工作簿的Workbook_SheetChange 事件※..........................202
※工作簿的Workbook_ Activate 事件※..................................202
※事件的組閤※.................................203
疑難75 如何實現用戶登錄機製....................203
※工作簿打開事件(Open)※........205
※登錄的機製※.................................205
※auto_open 和auto_close※.............206
第4 節 練習與思考...............................................206
第5 章 數據處理的綜閤應用.................................207
第1 節 計算及統計...............................................207
疑難76 如何計算個人所得稅........................207
※個人所得稅計算的步驟※.............209
※實現簡單計算的思考步驟※..........209
疑難77 如何進行銷售閤計匯總....................209
※使用循環結閤工作錶函數進行數據閤計※........................210
※行循環結構的建立※..................... 211
※列循環結構的建立※..................... 211
※多層嵌套循環結構的建立※.........213
※循環的簡化※.................................215
※以編程的方式思考問題※.............215
疑難78 如何將15 位身份證號碼升為18 位........215
※身份證號碼解讀※.........................216
※利用字符串截取進行查詢※.........217
第2 節 數據查詢與匯總......................................217
疑難79 如何羅列滿足條件的所有數據........217
※內嵌分支的循環結構※.................219
※羅列數據※.....................................219
※循環結構建立的誤區※.................219
疑難80 如何在多個工作錶中查找指定的數據.............................219
※多錶查詢※.....................................221
疑難81 如何獲取不重復的數據....................221
※去除重復值(RemoveDuplicates)方法※.........................222
※使用VBA 去除重復值※...............224
※巧用Exit 語句退齣循環以加快速度※................224
※循環中判斷條件的確立※.............224
※使用Find 方法代替循環遍曆查找※..................................225
疑難82 如何對比兩個錶的數據....................225
※兩錶比較的步驟※.........................227
疑難83 如何按單列匯總數據........................227
※按單列匯總數據的步驟※.............229
※可互換的循環嵌套※.....................229
※多個循環結構的閤並※.................229
※學會簡單直接的思考方式※...............231
疑難84 如何按多列匯總數據........................231
※按多列匯總數據的步驟※.............233
疑難85 如何製作多級下拉列錶....................233
※創建多級下拉列錶的思考步驟※.......235
疑難86 如何獲取交叉查詢結果錶................236
※交叉匯總錶※.................................238
※建立交叉匯總錶的步驟※.............238
※建立交叉匯總錶的優化※.............239
疑難87 如何按單列匯總多個工作錶.................239
※匯總多個工作錶※.........................241
※匯總數據位置不同的多個工作錶※.........................241
疑難88 如何匯總列數不相等的多個工作錶.....................241
※閤並匯總(Consolidate)方法※..............242
※Array 函數※..................................243
※Evaluate 方法構造數組※..............244
※使用VBA 匯總多個列數不相等的工作錶的步驟※..................246
疑難89 如何按指定列分拆工作錶................246
※拆分工作錶的步驟※.....................248
※判斷工作錶是否存在的步驟※.....................248
※Is 運算符比較對象變量※...................248
疑難90 如何製作動態匯總的數據查詢錶...............249
※動態匯總※.....................................251
※多列連接※.....................................252
疑難91 如何利用數據透視錶匯總數據...................252
※數據透視錶緩存對象(PivotCache)※.........................254
※訪問數據透視錶緩存對象(PivotCache)※.................254
※數據透視錶對象(PivotTable)※...................254
※創建數據透視錶※.........................255
※訪問數據透視錶對象※.................255
※數據透視錶的字段(PivotField)※.......................255
※數據字段※.....................................256
疑難92 如何匯總多工作簿的數據................256
※匯總多個工作簿※.........................259
※使用GetObject 函數獲取對象※.........259
第3 節 數組處理...................260
疑難93 如何建立數組加快程序運行...................260
※數組的基本概念※.........................261
※數組的聲明※.................................262
※數組的賦值與數組數據的讀取※.................262
※Ubound 和Lbound 函數獲取數組的上下限※..................263
※For Each…Next 循環遍曆數組的注意事項※...................263
※計算程序運行的時間※.................264
※數組處理的極限※.........................264
疑難94 如何使用數組處理列數較多的數據............264
※建立列數下標的數組※.................267
※使用枚舉Enum※..........................267
疑難95 如何利用數組實現分列....................268
※Split 函數※....................................269
※將動態數組寫入單元格※.............270
※數組的維度與單元格行列的關係※.......................271
※Option Base 語句※........................271
※Join 函數※.....................................271
疑難96 如何利用數組提取不重復值............272
※利用數組提取不重復值列錶的步驟※..................................273
※Redim Preserve 語句※...................273
※使用工作錶函數Transpose 對數組進行轉置※.......................274
※Filter 函數※...................................275
※使用Filter 函數提取不重復值的步驟※.......................276
※空數組的判斷※.............................276
※Filter 函數的精確篩選※...................276
※Filter 函數在數據比對中的應用※...............277
疑難97 如何進行條件數量不確定的多條件數據查找...............277
※使用數組進行多條件查找※.........279
第4 節 練習與思考...............................................280
第6 章 數據的轉換..................................................281
第1 節 數據的導入與導齣..................................281
疑難98 如何導入Access 數據庫的數據...................281
※利用ADO 連接數據庫※...................283
※利用ADO 執行SQL 查詢並在Excel 中輸齣結果※.....................283
※SQL 語句※....................................283
※ADO 連接不同的數據庫※....................283
疑難99 如何利用VBA 批量導入文本文件.............285
※用Open 語句和Close 語句打開和關閉文件※..................287
※Input 語句和Line Input 語句讀取文本文件※.....................287
※EOF 函數※....................................288
※Transpose 函數將嵌套的一維數組轉換為二維數組※........................288
疑難100 如何將xls 格式工作簿批量轉換為xlsx 格式....................290
※使用HasVBProject 屬性判斷工作簿是否有代碼※........................291
※禁止打開工作簿時執行程序※............292
疑難101 如何將Excel 按指定格式導齣為文本文件.................292
※Open 語句創建文本文件※.........................294
※使用Print 語句嚮文件中寫入指定的內容※.....................294
※Write 語句※.................................294
※Index 函數取二維數組的子集※.............295
疑難102 如何利用VBA 批量發送郵件..............................295
※CDO 組件※.................................297
※CDO.Message 對象※...................297
※CDO.Message.Configuration 對象※...................297
※前期綁定與後期綁定※...............298
※New 關鍵字創建對象※..............299
※添加郵件的附件※................................300
第2 節 圖形與圖錶...............................................300
疑難103 如何利用VBA 批量插入圖片.................300
※Shapes、Shape 和ShapeRange※............302
※Shapes 對象插入圖形的方法※...............303
※Excel 的坐標※.............................304
※圖形大小的調整※.......................304
※獲取圖片的原始大小※...............305
※將圖片按比例縮放至單元格※......305
※圖片批量插入的步驟※...............306
※Pictures 集閤※.............................306
疑難104 如何利用VBA 生成圖錶................307
※ChartObjects 集閤和ChartObject 對象※.........................308
※Chart 對象※.................................309
※數據係列(Series)對象※.................309
※添加圖錶的其他方法※...............310
疑難105 如何將工作錶數據批量導齣為圖片................. 311
※Copy、Cut 和Paste 方法※....................312
※圖錶對象(Chart)的Export 方法※............313
※利用PPT 導齣圖片※..................313
第3 節 練習與思考...............................................314
第7 章 自定義過程和函數的開發........................315
第1 節 自定義過程和函數的開發實例............315
疑難106 如何編寫帶參數的過程..................315
※使用含有參數的過程供多個過程調用※..........................317
※含有參數的過程的聲明方法※..................318
※編寫含有參數的過程的方法※...........319
※使用Application.Run 調用過程※..............319
疑難107 如何編寫處理數組排序的過程..........319
※ByVal 和ByRef 的區彆※............................320
※選擇排序※...................................321
※數組排序的方法簡介※...............322
疑難108 如何編寫個人所得稅計算函數.................322
※聲明自定義函數※.......................323
※自定義函數的返迴值※.......................324
※自定義函數和過程的區彆與聯係※......................324
疑難109 如何編寫獲取某列最後非空單元格行號的函數......................324
※Volatile 方法※.............................325
※易失性函數※...............................325
疑難110 如何編寫獲取最小值的自定義函數.......................325
※使用ParamArray 關鍵字聲明數組參數※........................327
※IsMissing 函數※..........................327
※IsArray 函數※........................................328
※函數的嵌套與遞歸※...........................328
疑難111 如何編寫條件查詢的函數..........................330
※使參數適用於數組和單元格區域※............................331
※TypeName 函數和VarType 函數※.....................................331
※查找指定位置的數據※.........................333
※返迴指定錯誤值的函數※....................333
疑難112 如何編寫函數按條件匯總關閉的工作簿中的數據..................334
※自定義函數參數的跨錶引用※..................................335
※條件求和函數的纍加原理※..........................336
※使用Evaluate 方法將引用轉換為數組※..................................336
疑難113 如何使用自定義函數返迴滿足條件的所有記錄....................336
※以數組作為返迴值的自定義函數※.............................338
※Application.Caller 屬性※..........................................338
疑難114 如何設置自定義函數的說明...............................339
※Application.MacroOptions 方法※................................340
第2 節 練習與思考...............................................341
第8 章 Excel 對話框操作.......................................342
第1 節 Excel 對話框操作實例...........................342
疑難115 如何創建信息提示對話框...............342
※MsgBox 函數※............................343
※MsgBox 函數buttons 參數的組閤※....................344
※Application.Cursor 屬性※...................344
※Application.SatusBar 屬性※.................345
疑難116 如何製作具有交互功能的提示對話框...............................345
※MsgBox 函數的返迴值※......................346
疑難117 如何創建具備輸入功能的對話框....................347
※VBA.InputBox 函數※...........................348
※InputBox 函數的返迴值※......................348
疑難118 如何反復提示對話框直到數據閤法...................348
※IsNumeric 函數※.........................349
※Application.InputBox 方法※....................350
疑難119 如何創建對話框的幫助文檔.................351
※CHM 文件及HTML Help Workshop※........................356
※在Excel VBA 中調用CHM 文件※.................................356
※創建VBA 項目的幫助係統※.....................357
※使用語句打開幫助文件※...........357
疑難120 如何顯示打開文件對話框............................357
※Application.GetOpenFilename 方法※............................358
※FileDialog 對象※.........................360
※FileDialog 對象的常用屬性※..............360
※使用FileDialog 對象的屬性Filters 添加篩選※..................360
※FileDialog 對象的Show 方法和Execute 方法※.................361
※遍曆通過FileDialog 對象選擇的文件※......................361
※Application.GetSaveAsFilename 方法※...........................361
※Application.Dialog 對象※......................361
第2 節 練習與思考...............................................361
第9 章 控件和窗體的應用.....................................362
第1 節 控件的基礎...............................................362
疑難121 如何在工作錶中插入ActiveX 控件..................362
※ActiveX 控件※............................362
※Excel 中常用的ActiveX 控件※.....................363
※編輯ActiveX 控件※...................363
※通過代碼訪問ActiveX 控件※...................364
※工作錶中窗體(錶單)控件和ActiveX 控件的區彆※......................364
疑難122 如何更改ActiveX 控件的屬性........................364
※ActiveX 控件的屬性※................365
疑難123 如何創建ActiveX 控件的事件............................365
※ActiveX 控件的事件※............................366
※ActiveX 控件的常用事件※.....................366
疑難124 如何使用日期選擇控件嚮單元格輸入日期.........................367
※DTPicker 控件※..........................368
※DTPicker 控件的時間和日期的切換※........................369
※DTPicker 控件的日期輸入方式※................................369
※DTPicker 控件的Value 屬性與Change 事件※..................369
※使用DTPicker 控件實現日期選擇並賦值給單元格※................369
※注冊DTPicker 控件※.................370
疑難125 如何創建動態智能匹配的下拉列錶.......................371
※TextBox 控件和ListBox 控件※...............................373
※ListBox 控件的ListFillRange 屬性和List 屬性※....................373
※ListBox 控件的多列顯示※.........374
※ListBox 控件的值※.....................374
※模糊查詢下拉列錶※...................375
※控件的選用※...............................375
※ListBox 和ComboBox 控件※..............375
疑難126 如何批量設置控件屬性..................376
※CallByName 函數※.....................378
※使用CallByName 函數獲取子對象※...............................378
※使用CallByName 函數批量修改對象的屬性※.............................378
※靈活使用自定義過程※...............378
第2 節 窗體和控件的深入應用..........................379
疑難127 如何創建並顯示窗體......................379
※窗體對象及其屬性※........................380
※窗體對象的顯示與關閉※......................380
※窗體對象的裝載與顯示※......................380
※窗體對象的卸載與隱藏※....................381
※窗體的顯示模式※............................381
疑難128 如何在窗體中插入控件.......................381
※控件工具欄※...............................383
※控件的順序※...............................383
※控件的組閤※...............................384
疑難129 如何利用窗體嚮工作錶中錄入數據.......................385
※窗體控件與工作錶的交互※............386
※窗體的事件※...............................387
※窗體中Controls 集閤訪問控件※...................388
※控件的排列※...............................388
※使用控件數組進行賦值※...................388
疑難130 如何利用窗體創建實時篩選浮動工具欄.........................389
※Default 和Cancel 按鈕※.......................392
※提高單元格隱藏的速度※.......................392
※自製浮動工具欄※.......................392
※動態顯示與隱藏窗體※...............393
疑難131 如何移動不同列錶框中的項目...........393
※ListBox 的AddItem 方法和RemoveItem 方法※.....................397
※ListBox 控件的MultiSelect 屬性※.............................397
※ListBox 控件的Value 屬性※...................398
※ListBox 控件的ListIndex 屬性※................398
※VBA 實現ListBox 項目的移動※.....................398
疑難132 如何利用復閤框製作工作簿/錶導航......................399
※復閤框(ComboBox)控件※........................400
※利用復閤框製作二級下拉列錶※......................401
疑難133 如何利用窗體製作嚮導係統....................401
※多頁(MultiPage)控件※............403
※多頁控件的頁麵※.......................403
※使用代碼更改當前顯示的頁麵※........................................404
※Application. SheetsInNewWorkbook 屬性※.............................404
疑難134 如何創建具有窗體交互的函數..............405
※創建具有窗體交互的函數的步驟※...........407
※ListBox 控件的Selected 屬性※ .............408
疑難135 如何利用窗體製作登錄界麵.................408
※使用窗體作為操作界麵※...................410
※隱藏Excel 工作簿※.................... 411
疑難136 如何動態地創建控件以顯示查詢結果............................... 411
※使用代碼為窗體添加控件※............414
※通過名稱控件排列※...................414
※使用類模塊為按鈕批量添加事件※...............415
疑難137 如何動態創建窗體..........................416
※VBComponents 集閤※................419
※VBComponent 對象※...................419
第3 節 練習與思考......................420
第10 章 自定義功能區........................................421
第1 節 自定義功能區實例..................................421
疑難138 如何添加選項卡和內置控件.......................421
※功能區簡介※...............................423
※使用Excel 選項自定義功能區※............423
疑難139 如何創建工作簿級的自定義選項卡.................................423
※Excel 工作簿的實質※.........................426
※XML 簡介※.................................426
※customUI.xml※............................428
※常用的功能區控件及通用屬性※.....................428
※tabs 控件和tab 控件※......................429
※group 控件※................................429
※命令控件※...................................429
※內置控件的ID※..........................430
※customUI.xml 中控件和屬性的命名規則※.....................430
※使用customUIEditor 工具製作選項卡※...........................430
疑難140 如何在功能區添加按鈕並運行VBA 程序.....................432
※迴調(CallBack)※....................434
※IRibbonControl 對象※.................434
疑難141 如何動態更改功能區控件屬性......434
※動態屬性※...................................438
※IRibbonUI 對象和Invalidate 方法※................................438
※設置IRibbonUI 對象※........................439
※Invalidate 的實質※............................439
疑難142 如何添加自定義功能區列錶控件的選項..........................439
※dropDown 控件添加選項※................442
※dropDown 控件的onAction 屬性※.............................443
※獲取dropDown 控件選中選項的另一個方法※.............443
疑難143 如何實現功能區控件之間的交互...........444
※切換按鈕(toggleButton)控件的getPressed 屬性※.............447
※切換按鈕(toggleButton)控件的onAction 屬性※...........447
※切換按鈕之間的交互※...............447
※條件篩選的自定義過程※...........448
第2 節 練習與思考...............................................448
第11 章 程序的錯誤調試.....................................449
疑難144 如何利用齣錯信息判斷工作錶是否存在.........................449
※On Error 語句※...........................450
※Err 對象※.....................................451
※“運行時錯誤”的利用※...............451
※代碼標簽※...................................451
疑難145 如何在中斷模式下調試程序..........452
※中斷模式※ ....................................453
※程序的測試※...............................453
疑難146 如何逐句調試程序..........................453
※逐句運行※...................................454
疑難147 如何為程序設置斷點調試程序.................454
※斷點※...........................................455
疑難148 如何運用監視窗口監控變量的值..............456
※監視窗口※.........................................456
※使用“立即窗口”※...................457
疑難149 如何自定義錯誤..............................457
※Err 對象的Raise 方法※....................458
疑難150 如何進行程序齣錯的自動處理................459
※處理錯誤的兩種方式※...............460
※Resume 語句※.............................461
第12 章 綜閤開發實戰.........................................462
疑難151 如何製作通用工具..........................462
· · · · · · (
收起)