目 錄
第1章 基礎理論 1
1.1 快速獲取幫助 1
疑難1 如何獲取所有控件的屬性及屬性值 1
前期綁定與後期綁定 4
疑難2 部分對象在輸入時沒有成員列錶提示,如何解決 5
沒有成員列錶的對象 6
疑難3 如何找齣錯誤語句及獲取錯誤原因並發送到開發者郵箱 6
利用ShellExecute函數調用程序的方式 8
1.2 程序防錯要點 8
疑難4 程序齣錯有哪些原因 9
常見錯誤分析 9
疑難5 如何獲取VBA所有運行時錯誤的詳細說明 10
通過Error函數獲取錯誤信息 12
疑難6 如何在執行完畢後報告齣錯次數及原因 13
捕捉所有錯誤信息 14
疑難7 如何開發完善的程序 15
數組區域對VBA程序的影響 17
疑難8 防錯語句在程序或者函數中應用有哪些優勢 17
利用Err.Number屬性判斷錯誤類型 19
1.3 代碼優化之道 19
疑難9 如何優化過程“隱藏偶數行” 19
關閉ScreenUpdating提升程序效率 20
疑難10 如何優化過程“設置字體屬性” 21
利用With簡化對象引用 22
疑難11 如何優化過程“隔三行求和” 22
減少單元格的寫入次數提升程序效率 23
疑難12 如何優化過程“B列所有圖片右移” 23
有針對性地使用Select方法 24
疑難13 如何優化過程“建工作錶目錄” 25
VBA中數組的作用 26
疑難14 如何優化過程“成績評語” 26
區分適閤置於循環體中的語句 27
疑難15 如何優化過程“刪除空單元格所在行” 27
不用循環而選擇多個符閤條件的單元格 28
疑難16 如何優化過程“批量修改批注背景色” 28
區分父對象與子對象 29
疑難17 如何優化過程“隔一行插入一行” 30
計算模式對程序效率的影響 31
疑難18 如何優化過程“獲取外網IP地址” 31
使用變量的條件 32
1.4 提升代碼的兼容性 32
疑難19 程序的兼容性體現在哪些方麵 33
操作係統對VBA的影響 33
疑難20 如何讓程序適應不確定對象 34
使用動態區域引用讓代碼具有更強的通用性 37
疑難21 如何讓程序兼容Excel多版本 37
識彆Excel的版本號 39
疑難22 如何讓程序兼容英文和中文係統 40
利用API函數識彆簡體、繁體中文與英文 41
疑難23 如何讓程序兼容簡體與繁體中文 41
讓代碼適應簡體與繁體係統 42
1.5 練習與思考 42
第2章 查找引用 44
2.1 本錶查找 44
疑難24 如何查找不及格學生姓名並突齣顯示 44
利用Union方法閤並多區域 46
疑難25 如何一次性羅列錶中三省員工的姓名 47
Find方法的使用技巧 49
疑難26 如何在輸入時逐步查找 50
通過KeyUp事件自動執行查詢 52
疑難27 如何按指定的格式查找 53
FindFormat的使用技巧 54
疑難28 如何實現字體格式替換 54
替換格式的條件 55
疑難29 如何查找所有“#”並標為上標 56
區分上標、下標的應用對象 57
疑難30 如何找齣還款時間超過一年及未還款的客戶信息 57
日期函數Datedif的特性 59
疑難31 可以將查找到的所有數據串連並寫入剪貼闆中嗎 59
引用“Microsoft Forms 2.0 Object Library”的兩種方法 60
疑難32 可以創建一個工具欄來方便查找嗎 61
設置lookat參數實現模糊查找 63
疑難33 如何快速羅列齣每個産品最新報價 63
Collection對象的應用技巧 65
疑難34 如何在具有閤並單元格的區域中多條件逐步查找 65
通過“MergeArea”屬性返迴閤並區域 67
疑難35 如何查找成績並分批發郵件 67
VBA中發編寫郵件正文時的換行符的錶示法 68
2.2 跨錶及多錶查找 69
疑難36 如何引用數據錶創建多級下拉菜單 69
“ActionControl”對象的功能與限製 72
疑難37 如何將所有錶中查找的完成數匯總到總錶 73
利用SpecialCells定位實現快速查找 74
疑難38 在窗體中羅列每月産量冠軍名單 74
不采用循環,一次性找齣最大值所在行 76
疑難39 如何將具有外部數據引用的單元格轉換成值 76
通過“[]”和“’!”定位具有外部鏈接的公式 77
疑難40 如何讓鏈接到其他錶中隱藏單元格的超鏈接生效 77
通過xlSheetVisible屬性切換工作錶顯示狀態 78
疑難41 如何實現多部門電話資料模糊查詢 79
Target與Activecell的區彆 80
疑難42 如何實現所有未收貨款者在狀態欄隨機顯示 80
利用OnTime定時執行程序 82
2.3 文件查找與轉換 82
疑難43 如何判斷指定文件是否存在 82
利用DIR函數判斷文件是否存在 83
疑難44 如何進行深度查找且創建文件目錄 84
FileDialog對象的應用 85
疑難45 如何查找並備份所有“3月生産錶” 86
CopyFile方法對文件復製 88
疑難46 如何將所有Excel文件轉換成XPS或PDF文件 88
利用PrintOut方法將工作錶轉換成XPS文件 90
疑難47 如何在網上鄰居的共享盤中查找並打開“單價錶” 91
利用FileExists方法判斷文件是否存在 92
疑難48 如何實現全盤查找“上海灘.MP3”,有則自動翻放 92
播放音樂的三種方式 94
疑難49 如何在網上自動搜索與當前單元格同名的歌麯並播放 95
利用網頁地址索引歌麯並自動播放 96
2.4 圖片查找與引用 96
疑難50 如何瞬間刪除當前錶中所有圖片 96
DrawingObjects與Shape對象的區彆 97
疑難51 可以將簽名圖片復製到錶中所有簽名處嗎 97
復製圖形對象與復製數據的區彆 98
Selection代錶什麼 99
疑難52 如何像vlookup引用數據一樣引用圖片 99
對圖片設置公式引用其他圖片 101
疑難53 如何通過窗體預覽指定目錄中的所有圖片 101
通過LoadPicture函數加載圖片 103
2.5 練習與思考 103
第3章 數據處理 104
3.1 定位的技巧 104
疑難54 如何選擇當前錶0~100之外的數據 104
使用定位技術減少循環語句的循環次數 105
疑難55 如何定位奇數行 105
MOD配閤SpecialCells定位奇數行 106
疑難56 可以瞬間定位並隱藏所有錯誤值嗎 107
通過SpecialCells定位錯誤值 108
疑難57 如何在輸入數據時自動定位下一行的目標單元格 109
限製刪除單元格的數據時不觸發工作錶的Change事件 110
疑難58 可以將標題以外的區域轉換成“萬”為單位嗎 110
VBA中如何處理雙引號 111
疑難59 如何定位當前錶最大值和最小值 112
調用工作錶函數並配閤Find方法查找最大值 113
疑難60 能定位並標識高於平均值的單元格嗎 113
VBA中數字、漢字的大小關係 115
疑難61 如何反嚮選擇工作錶區域 115
輔助區的重要性 116
3.2 數據處理及格式轉換 116
疑難62 如何將單詞在大寫、小寫與首字母大寫間任意切換 116
利用StrConv函數對英文進行大寫、小寫和首字母大寫轉換 117
疑難63 如何將二維的入庫錶轉換成一維排版方式 118
利用數組提升代碼執行效率 119
疑難64 能否不用循環對選區進行橫嚮與縱嚮匯總 120
“R1C1”引用方式的優點 121
疑難65 如何批量地將字符串中的字母、數字和漢字分離齣來 122
利用Like運算符區彆漢字、數字和字母 123
疑難66 可以將錶達式轉換成運算結果嗎 124
通過Evaluate計算錶達式 125
疑難67 如何快速填充所有空單元格 125
利用Intersect引用區域提升代碼通用性 126
疑難68 如何將産品銷售地區瞬間轉換成下拉列錶 126
利用代碼設置有效性序列 127
疑難69 數據有效性可以設置三級關聯下拉列錶嗎 128
利用Dictionary對象獲取唯一值 130
疑難70 可以對職員信息錶按學曆排序嗎 130
新舊版本中Sort的差異 131
疑難71 可以不打開工作簿而提取其數據嗎 132
VBA中調用公式實現從未打開的工作錶中取值 133
疑難72 如何保護所有公式不能修改 134
切換Locked 屬性實現公式保護 135
疑難73 如何實現金額數據分解 135
MID取文本的特點 137
疑難74 VBA可以破解工作錶密碼嗎 137
錶的分類 138
疑難75 如何對分段編號進行閤並轉換 138
減少數組變量空間分配次數的方法 140
疑難76 如何將5個大小相同選區的數據互換 141
Areas與CurrentRegion的區彆 142
疑難77 如何取得1000之內的質數 142
質數的特性 143
疑難78 可以生成指定範圍的不重復隨機數嗎 144
Collection對象的優勢 145
疑難79 如何利用VBA對工作簿進行減肥 145
正確刪除單元格,減少文件體積 146
疑難80 如何讓數字在文本與數值之間快速切換 147
在文本與數值間切換的VBA思路 148
疑難81 如何將“/”分隔的數據進行匯總 149
以“/”為分隔符取其左右字符的思路優化 150
疑難82 可以對指定區域進行自動更正嗎 150
利用Replace方法實現限定區域的自動更正 151
疑難83 可以對包括“星期”的所有工作錶同時添加公式嗎 151
VBA在單錶和多錶中輸入公式的區彆 152
疑難84 在VBA中如何控製字符朗讀 153
利用Speech朗讀字符 153
疑難85 能實現粘貼數據時跳過隱藏區嗎 154
如何確定單元格是否隱藏 156
疑難86 如何對相同值進行標識著色 156
疑難87 如何根據工資計算零鈔數量 159
獲取選區第一列及已用區域的交集 160
疑難88 如何批量實現區域數據真正四捨五入 161
通過round解決數據顯示的假象 162
疑難89 如何優化具有大量公式引用的數據計算 163
公式與VBA在計算上的區彆 164
ClearContents與Clear的區彆 164
3.3 單元格閤並技巧 164
疑難90 可以在錶格中閤並同類項嗎 165
利用DisplayAlerts屬性關閉閤並單元格的提示及加快執行速度 166
疑難91 如何實現按産品閤並産量數據錶 166
利用變量暫存數據,代替輔助區 168
疑難92 如何實現閤並時保留所有數據,而拆分時可以還原 168
看不見的特殊字符的應用 171
疑難93 可以選擇當前錶所有閤並單元格嗎 171
定位閤並單元格 172
疑難94 如何取消所有閤並區域並且對所有單元格填充數據 172
閤並區域的賦值方式 174
疑難95 閤並單元格後仍然可以正常引用區域中的所有值嗎 174
復製閤並屬性 175
疑難96 如何將指定單元格閤並鏈接到一個選區 175
對一個區域追加鏈接 177
疑難97 跨頁閤並單元格可以重新閤並從而適應分頁打印嗎 178
判斷閤並單元格是否跨頁 179
疑難98 可以讓閤並單元格自動換行嗎 180
工作錶事件代碼與普通過程的區彆 181
3.4 報錶閤並與拆分 181
疑難99 如何閤並所有工作錶到一個錶中 182
讓復製數據時既去除公式又不影響數值的顯示狀態 183
疑難100 如何實現多錶閤並匯總 184
利用相對引用公式批量閤並數據,避免使用循環 185
疑難101 如何將多個工作簿中的所有工作錶閤並到一個工作錶中 186
通過禁用工作簿重算提升代碼效率 189
疑難102 如何將多個工作簿數據閤並到一個工作簿中 189
利用變量作為輔助進行條件判斷 193
疑難103 如何實現報錶拆分 193
利用復製格式和復製數值實現完美復製,避免復製後顯示錯誤 195
疑難104 如何將工作簿中每個工作錶轉換為獨立工作錶 197
根據版本號決定文件格式 198
3.5 單元格顔色的綜閤應用 199
疑難105 Excel不同版本在顔色處理方麵有分彆嗎 199
不同版本中顔色差異對程序的影響 200
疑難106 可以對Excel 2010的按顔色篩選再做擴展嗎 201
CurrentRegion與Usedrange對程序的影響 204
疑難107 如何讓按顔色排序可以在Excel 多版本間通用 204
藉用輔助和調用老版本的Sort功能提升程序的通用性 206
疑難108 如何將顔色分類重排且通用於Excel多個版本 206
將顔色屬性轉換成數據,輔助程序執行 208
疑難109 可以按顔色對選區數據分類匯總嗎 208
修改數據源與修改顔色在VBA事件中的差異 211
疑難110 如何用函數對數據背景和字體按顔色匯總 212
通過Volatile讓函數聲明為易失性函數 213
3.6 重復數據處理 213
疑難111 如何清空重復值單元格並標識 214
Countif函數在去重復值中的應用 215
Countif函數的限製 216
疑難112 可以對重復齣現的數據進行圈釋嗎 216
利用CircleInvalid對單元格加圈,以及CircleInvalid的限製 217
疑難113 如何篩選唯一值 218
使用錯誤處理語句配閤Collection取唯一值 219
疑難114 可以在輸入重復值時提示用戶嗎 219
通過EnableEvents提高程序的執行效率 220
疑難115 如何對兩列數據提取相同項與不同項 221
利用Transpose函數實現區域轉數組 222
疑難116 如何將多行多列相同者保留最後一個數據 223
雙層Transpose配套Join實現橫嚮區域轉字符串 224
3.7 數據透視 224
疑難117 如何按職務或部門進行工資數據的透視分析 225
利用Excel 2003的透視錶代碼提升程序兼容性 226
疑難118 如何實現多重數據透視 227
利用Array嵌套創建多重透視 228
疑難119 如何實現同時透視多工作簿中的多工作錶數據 229
解決VBA創建透視錶名稱衝突的兩種方法 230
3.8 練習與思考 231
第4章 報錶打印 232
4.1 打印設置 232
疑難120 如何一次性設置“總錶”以外工作錶的頁腳 232
選擇工作錶數量對頁腳的影響 233
疑難121 如何設置所有工作錶的已用區域為打印區域 233
設置打印區域對數據打印的影響 234
疑難122 可以記錄工作簿的打印次數嗎 235
藉用文件自定義屬性記錄打印次數 235
4.2 特殊打印格式設計 236
疑難123 如何設計工資條打印格式 237
藉用輔助列提升程序的容錯性 240
疑難124 如何打印工資卡 240
引用普通工作簿和加載宏工作簿的區彆 243
疑難125 VBA可以實現對工作錶分頁小計嗎 243
利用宏錶函數Get.Document(50)獲取工作錶頁數 246
疑難126 如何同時打印頂端標題和底端標題行 246
計算第一個分頁符的所在行號 253
疑難127 可以藉用圖片實現底端標題打印嗎 253
Export與API方式將區域轉換成圖片的差異 255
疑難128 如何製作針式多聯打印機打印格式的報錶 256
利用HPageBreaks.Add實現手動分頁 258
疑難129 如何實現雙麵打印 259
中斷與禁止中斷程序 260
疑難130 可以僅僅打印活動單元格所在頁嗎 260
利用Location計算分頁符位置,配閤循環判斷當前頁序號 261
4.3 練習與思考 262
第5章 函數開發 263
5.1 自定義函數基礎 263
疑難131 如何開發自定義函數 263
Office版本對自定義函數參數的影響 267
疑難132 函數與參數名規則如何 267
自定義函數命名規則 267
疑難133 自定義函數在不同版本中有何差異 269
顔色對自定義函數的影響 271
5.2 開發自定義函數 271
疑難134 如何對區域內混雜字符串中的數字求和 271
Excel公式對連續“+”的處理方式 273
疑難135 如何分離字符串中的數值、英文和漢字 273
正則錶達式在字符處理中的優勢 274
疑難136 如何將文本混雜字符串及錶達式轉換為值 274
正則錶達式中數字、漢字的錶達方式 276
疑難137 如何按時間段計算匯總金額 277
根據計算對象的規範性決定函數參數的個數 278
疑難138 如何對具有分隔符的數據分類匯總 279
Split函數産生的數組的特點 280
疑難139 可以取姓名的漢語拼音首字母嗎 280
漢字與拼音首字母的對應關係 282
疑難140 超過15位的數字如何求和 282
Excel對數據計算的長度限製 284
疑難141 可以擴展Vlookup函數實現返迴多個結果嗎 284
利用Find替代Vlookup實現多個數據查找 285
疑難142 如何利用函數創建文件目錄 286
自定義函數中如何錶示活動單元格 287
疑難143 可以用函數連接內存數據和區域中所有文本嗎 288
利用ParamArray聲明不確定個數的函數參數 290
疑難144 如何根據身份證號碼獲取齣生日期、年齡和性彆 290
身份證號碼所包含的個人信息 292
疑難145 如何將多個單元格中的人民幣數字閤並且轉為大寫金額 293
聲明正確的類型優化函數效率 294
疑難146 如何計算兩個區域的不同項 294
自定義函數對大區域運算的限製 296
疑難147 如何突破Rank函數排名的限製 296
去重復值的3個方法 297
疑難148 如何實現按數據齣現次數排序 298
Collection與字典的區彆 300
疑難149 可以用一個函數將人民幣大小寫相互轉換嗎 300
通過拆分法理解代碼 302
疑難150 可以用函數改變引用區域的值嗎 303
利用自定義函數修改引用區域的值的兩種方法 305
疑難151 如何對兩個以逗號分隔的亂序字符串比較異同 306
Split函數嵌套應用從字符串中分彆獲取品名與數量 307
疑難152 可以利用函數添加數據監控嗎 308
藉用函數的易失性實現自動執行,類似於工作錶事件 309
疑難153 可以讓函數的兩個參數全是可選參數嗎 310
將單個參數聲明為可選參數的方法 311
疑難154 可以利用函數批量對工作錶命名嗎 312
藉用類模塊將工作簿級事件提升為應用程序級事件 314
疑難155 如何讓自定義函數運算結果是一個數組 314
函數返迴數組的條件 316
5.3 自定義函數的管理 316
疑難156 如何對自定義函數添加說明 316
通過MacroOptions定義函數的幫助信息 318
疑難157 如何對自定義函數的參數添加幫助 318
藉用REGISTER為自定義函數添加參數說明及分類 321
疑難158 可以將加載宏中的自定義函數復製到活動工作簿嗎 322
判斷用戶的設置是否允許訪問VBA工程 325
疑難159 如何封裝自定義函數,使其代碼不可查看 325
利用VB 6.0企業版封裝自定義函數 328
5.4 練習與思考 328
第6章 文件目錄 329
6.1 文件管理 329
疑難160 可以實現文件雙嚮備份嗎 329
利用SaveCopyAs備份文件 330
疑難161 如何讓文件使用一次後即自我銷毀 331
文件“自殺”的條件 331
疑難162 文件有哪些屬性,如何控製它們 332
GetAttr函數搭配and運算符判斷文件是否具備某屬性 333
疑難163 如何刪除指定目錄中一年前創建的文件 334
疑難164 可以刪除18個月沒有使用的文件嗎 335
用DATEDIF計算文件閑置時間的技巧 336
疑難165 如何對文件批量重命名 336
獲取文件名的方法 338
疑難166 可以在收藏夾中對當前工作簿創建快捷方式嗎 338
獲取收藏夾地址的方法 339
疑難167 文本文件與Excel如何批量轉換 341
文本文件與工作錶的相互轉換 342
疑難168 如何實現將指定文件作為附件發送郵件 343
Outlook的前期綁定與後期綁定 344
6.2 目錄管理 345
疑難169 如何瞬間刪除D盤中所有空文件夾 345
將代錶磁盤的字符串轉換成磁盤對象的方法 346
疑難170 如何獲取C盤以外所有磁盤的文件目錄列錶 346
通過FSO對象判斷某磁盤是否存在 347
疑難171 如何讓多版本Excel可以隨心所欲選擇打開方式 348
將Excel快捷方式導入“Sendto”文件夾 349
疑難172 如何批量創建以本月每日日期命名的文件夾 350
利用DateSerial的糾錯功能計算本月天數 351
6.3 練習與思考 351
第7章 圖錶設計 352
7.1 圖錶編輯 352
疑難173 如何利用快捷鍵對選區創建圖錶 352
對宏指定組閤鍵的方式及特點 355
疑難174 如何批量修改圖錶標簽 355
操作圖錶標簽的條件 359
疑難175 如何批量移位標簽 359
移位圖錶標簽的限製 362
疑難176 如何對圖錶係列設置條件格式 362
填充圖錶係列的兩種方法 365
7.2 多錶管理 366
疑難177 如何將所有圖錶大小調整一緻且對齊 366
圖錶名稱的特點 367
疑難178 如何將所有圖錶轉換成JPG文件保存到文件夾 368
將圖片轉換為圖片的思路 369
7.3 練習與思考 369
第8章 圖形對象 370
8.1 圖形對象的基本操作 370
疑難179 可以僅僅刪除E列存放的圖錶以外的圖形對象嗎 370
通過TopLeftCell和BottomRightCell定位圖片位置 371
疑難180 如何將工作簿所在路徑的圖片全部導入工作錶 371
Pictures.Insert與Shapes.AddPicture的分彆 373
疑難181 如何讓所有圖形對齊所在單元格左邊框 374
通過統一TopLeftCell屬性對齊圖片 374
疑難182 如何實現所有圖片剛好適應所在單元格大小與邊距 375
行高與列寬的特點 376
疑難183 如何將選區轉換成圖片並保存到桌麵 377
藉用圖錶中介實現區域轉圖片 379
8.2 批注的高級應用 379
疑難184 如何利用快捷鍵在單元格插入當前日期的批注 379
通過設置AutoSize屬性使批注框自動調整大小 380
疑難185 如何將指定列的數據批量追加到批注中 381
強製返迴選區第一列的3種方法 383
疑難186 如何實現指定區域批量創建曆史記錄於批注中 383
讓代碼應用於所有工作簿的方法 386
疑難187 如何批量導入圖片到單元格的批注中 386
對批注框設置背景的條件 388
疑難188 可以對批注進行替換嗎 388
“Unload Me”、“End”和“Exit Sub”的區彆 391
疑難189 如何在所有批注末尾追加當前日期 391
利用Isdate判斷批注最後一行是否為日期 392
疑難190 如何批量修改批注的外觀 392
聲明正確的變量類型及防錯 394
疑難191 可以改造默認的插入批注功能嗎 394
正確引用右鍵菜單 395
8.3 圖形對象綜閤應用 396
疑難192 可以讓圖片跟隨鼠標移動嗎 396
利用DoEvents函數展示動畫過程 398
疑難193 如何創建圖片目錄與批量插入圖片 398
單元格的行高與列寬限製 401
疑難194 如何利用窗體預覽圖片 402
控件背景圖片的3種顯示方式 404
疑難195 VBA中的窗體能否轉換成圖片保存在工作錶中 404
調用API函數調用截圖的快捷鍵 405
疑難196 可以在工作錶中導入GIF動畫嗎 406
播放GIF文件時不能將文件嵌入工作錶 408
疑難197 如何實現輸入品名時查看當前路徑中的同名圖片 408
利用API計算圖片文件的長與寬 409
疑難198 可以讓鼠標指定圖片時放大圖片嗎 410
利用API函數獲取鼠標指針坐標 413
疑難199 如何實現圖片批量導入並自動排版打印 413
利用FSO技術中的Getextensionname獲取文件後綴名 417
8.4 練習與思考 417
第9章 窗體控件 418
9.1 ActiveX控件應用 418
疑難200 可以利用列錶框強化數據有效性嗎 418
列錶框相較數據有效性的靈活性 420
疑難201 如何利用復閤框引用區域的唯一值 421
復閤框調用數據的兩種方法及各自優勢 423
疑難202 利用復閤框和列錶框實現二級列錶 423
MouseMove事件獲取列錶框的值的技巧 426
9.2 窗體設計技巧 426
疑難203 如何實現利用快捷鍵啓用和關閉窗體 426
KeyPress事件可以檢查的按鍵及例外項目 428
疑難204 如何用一個窗體展現多個不同內容 429
分頁顯示的兩種方法 432
疑難205 如何用一個按鈕執行多個功能 433
利用PasswordChar屬性隱藏敏感字符 435
疑難206 如何讓日期輸入器窗體緊跟活動單元格 435
影響窗體Left、Top屬性的因素 436
疑難207 如何設計五角星窗體 437
顯示五角星窗體的方法 440
疑難208 VBA可以設計彩蛋嗎 440
MouseUp事件中Shift參數的作用 442
疑難209 如何通過窗體控製實現工作錶隔行插入行 442
通過Shift參數控製Insert方法的單元格移動方嚮 446
疑難210 如何在窗體中開發右鍵快捷菜單 446
創建自定義菜單的基本思路 448
疑難211 窗體可以利用鼠標自由調整大小嗎 449
利用API讓窗體可以自由拖動的思路 449
疑難212 在窗體Show狀態下可以調整控件大小嗎 450
MouseMove事件中各參數的作用 452
疑難213 在窗體Show狀態下如何批量設置控件格式 452
可修改控件字體格式的幾種對話框 454
疑難214 在窗體Show狀態下如何調整控件位置 455
MouseMove事件中Button參數的應用技巧 456
疑難215 如何檢測窗體中文本框的數據有效性 456
對文本框設置數據有效性檢驗的優勢 457
疑難216 如何設計懸浮感應式窗體 458
通過調整邊距控製窗體的動態效果 460
疑難217 可否瞬間備份所有窗體 460
VBA工程中的子對象分類 461
疑難218 能否對窗體中所有控件同步縮放 462
窗體的Zoom屬性的特點 464
疑難219 能否通過代碼生成窗體及控件 464
用代碼操作代碼、窗體和模塊的優缺點 466
9.3 窗體與工作錶之數據交互 467
疑難220 可以實現多工作錶篩選並將結果導入窗體嗎 467
列錶框的ColumnHeads屬性的特點 469
疑難221 多工作錶數據輸入窗體如何設計 469
利用SetFocus方法控製焦點的轉移 472
疑難222 如何開發日曆工具箱 472
Excel對日期計算的限製 476
疑難223 如何實現多條件電話查詢 476
“TextBox1_Change”事件與“TextBox1_Exit”事件的異同 478
疑難224 如何開發復選框批量管理工具 478
認識復選框 481
疑難225 如何讓窗體控件自適應工作錶數據變化 481
用代碼創建新控件 483
疑難226 可以讓列錶框具有拖放功能嗎 484
控件拖放相關的事件 485
本例僅支持一次拖放一行數據 486
疑難227 如何開發四則運算自動齣題機 486
通過Rnd函數産生指定範圍的隨機數 488
9.4 開發動畫窗體 489
疑難228 如何讓窗體中的文本框循環滾動 489
控製動畫速度的兩種方式 491
疑難229 窗體中可以播放GIF和Flash動畫嗎 491
Excel播放GIF的原理 493
疑難230 如何讓窗體産生百葉窗動畫 493
疑難231 如何設計精美邊框且帶動感的窗體 495
網頁設計與VBA 496
疑難232 如何設計動態的啓動畫麵 497
網頁動畫的基本語法 499
疑難233 如何讓窗體中産生跟隨鼠標指針的文字動畫 500
VBA設計動畫的限製 501
9.5 練習與思考 501
第10章 插件開發 502
10.1 定製菜單與工具欄、功能區 502
疑難234 如何定製新菜單、工具欄與功能區 502
加載宏的特性與安裝方法 506
疑難235 可以任意組閤內置命令嗎 507
CommandBars對象的ID參數的作用 508
疑難236 如何改造內置命令的功能 509
修改OnAction屬性替換內置功能 510
疑難237 可以提取所有內置圖標及其編號嗎 511
ActionControl屬性的作用 513
疑難238 可利用菜單控製分頁符、零值和批注的顯隱嗎 513
Excel不同版本的自啓動路徑 515
疑難239 如何僅僅利用菜單創建工作錶目錄 516
讓一個過程執行多個菜單執行多個功能的方法 518
疑難240 如何讓菜單具有感應功能 518
State屬性的特點與應用 520
疑難241 如何讓菜單和功能區中顯示自己的照片 521
控製功能區中圖片庫分布方式的4個參數 524
疑難242 如何設計可單選與復選的新工具欄菜單 525
具有單選與復選特效的圖標組閤 528
10.2 開發通用插件 528
疑難243 如何開發定位工具箱擴展Excel定位的功能 528
Excel定位的限製 533
疑難244 如何開發通用的多區域復製插件 534
疑難245 如何開發單元格批量閤並插件 535
操作大麵積區域時利用警告框提示用戶 538
疑難246 可以利用插件輸入常用VBA代碼嗎 538
計算當前代碼行的行號 542
疑難247 如何利用插件刪除當前工作簿所有代碼 543
ActiveWorkbook與Thisworkbook的分彆 544
疑難248 如何利用TreeView控件打造工作簿瀏覽器 545
ImageList控件的特點與作用 547
10.3 封裝DLL插件 548
疑難249 如何封裝數值與文本互換的DLL插件 548
使用VB 6.0封裝Dll的4個重點 554
疑難250 如何設計字符串分離與錶達式計算插件 555
利用VB開發功能區的優勢 563
10.4 練習與思考 563
第11章 工資管理係統 564
· · · · · · (
收起)