出版社:清華大學出版社 ISBN:9787302551959 商品編碼:70679389253 品牌:文軒 出版時間:2020-05-01 代碼:128 作者:邁克爾·亞力山大(MichaelAlexan
" 作 者:(美)邁克爾·亞力山大(Michael Alexander),(美)迪克·庫斯萊卡(Dick Kusleika) 著 石磊 譯 定 價:128 出 版 社:清華大學出版社 出版日期:2020年05月01日 頁 數:594 裝 幀:平裝 ISBN:9787302551959 "借助VBA成為Excel高級用戶利用VBA語言的很好功能,將自己的Excel技能提升到全新水平。《中文版Excel?2019高級VBA編程寶典(第9版)》是一本綜合性指南,幫助讀者進行自動化數據處理,開發功能齊全的Excel應用。本書針對Excel?2019做了全面更新,是獨一無二的資源;無論你開發大型還是小型Excel應用,本書都將為你提供所需的一切內容。 本書以讀者為中心,選材精當,直抒主題,摒棄華而不實的、冗長的解釋,為你開始學習提供等 ●第I部分ExcelVBA基礎知識 第1章電子表格應用開發入門3 1.1什麼是電子表格應用3 1.2應用開發的步驟4 1.3確定用戶的需求4 1.4對滿足這些需求的應用進行規劃5 1.5確定最適用的用戶界面6 1.5.1自定義功能區7 1.5.2自定義快捷菜單7 1.5.3創建快捷鍵7 1.5.4創建自定義對話框8 1.5.5在工作表中使用ActiveX控件8 1.5.6開始開發工作9 1.6關注最終用戶10 1.6.1測試應用10 1.6.2應用的安全問題11 1.6.3如何讓應用程序看起來更簡明美觀12 1.6.4創建用戶幫助繫統12 1.6.5將開發成果歸檔13 1.6.6給用戶發布應用程序13 1.6.7在必要時對應用進行更新13 1.7其他開發問題14 1.7.1用戶安裝的Excel版本14 1.7.2語言問題14 1.7.3繫統速度14 1.7.4顯示模式15 第2章VBA概述16 2.1宏錄制器16 2.1.1創建你的第一個宏16 2.1.2比較宏錄制的絕對模式和相對模式19 2.1.3關於宏錄制的其他概念22 2.2VisualBasic編輯器概述26 2.2.1了解VBE組件26 2.2.2使用工程資源管理器27 2.2.3使用代碼窗口29 2.2.4自定義VBA環境31 2.2.5“編輯器格式”選項卡32 2.2.6“通用”選項卡33 2.2.7“可連接的”選項卡33 2.3VBA的基礎知識34 2.3.1了解對像34 2.3.2了解集合35 2.3.3了解屬性35 2.3.4了解方法37 2.4使用Range對像38 2.4.1找到Range對像的屬性39 2.4.2Range屬性39 2.4.3Cells屬性40 2.4.4Offset屬性42 2.5需要記住的基本概念43 2.6學習更多信息44 2.6.1閱讀本書剩餘的章節44 2.6.2讓Excel來幫助編寫宏45 2.6.3使用幫助繫統45 2.6.4使用對像瀏覽器45 2.6.5從網上獲取46 2.6.6利用用戶論壇47 2.6.7訪問專家博客47 2.6.8通過YouTube查找視頻48 2.6.9通過MicrosoftOfficeDevCenter獲取信息48 2.6.10解析其他的Excel文件48 2.6.11咨詢周圍的Excel人纔48 第3章VBA編程基礎49 3.1VB素概覽49 3.2注釋51 3.3變量、數據類型和常量52 3.3.1定義數據類型53 3.3.2聲明變量54 3.3.3變量的作用域56 3.3.4使用常量58 3.3.5使用字符串60 3.3.6使用日期60 3.4賦值語句61 3.5數組63 3.5.1聲明數組63 3.5.2聲明多維數組64 3.5.3聲明動態數組64 3.6對像變量64 3.7用戶自定義的數據類型66 3.8內置函數66 3.9處理對像和集合69 3.9.1With-EndWith結構69 3.9.2ForEach-Next結構70 3.10控制代碼的執行71 3.10.1GoTo語句72 3.10.2If-Then結構72 3.10.3SelectCase結構76 3.10.4指令塊的循環79 第4章VBA的子過程86 4.1關於過程86 4.1.1子過程的聲明87 4.1.2過程的作用域88 4.2執行子過程89 4.2.1通過“運行子過程/用戶窗體”命令執行過程89 4.2.2從“宏”對話框執行過程89 4.2.3用Ctrl快捷鍵組合執行過程90 4.2.4從功能區執行過程91 4.2.5從自定義快捷菜單中執行過程91 4.2.6從另一個過程中執行過程91 4.2.7通過單擊對像執行過程95 4.2.8在事件發生時執行過程96 4.2.9從“立即窗口”執行過程97 4.3向過程中傳遞參數97 4.4錯誤處理技術100 4.4.1捕獲錯誤101 4.4.2錯誤處理示例102 4.5使用子過程的實際示例104 4.5.1目標104 4.5.2工程需求105 4.5.3已經了解的信息105 4.5.4解決方法105 4.5.5初步的錄制工作106 4.5.6初始設置107 4.5.7代碼的編寫108 4.5.8排序過程的編寫109 4.5.9更多測試113 4.5.10修復問題113 4.6實用程序的可用性116 4.7對工程進行評估117 第5章創建函數過程118 5.1子過程與函數過程的比較118 5.2為什麼創建自定義的函數119 5.3自定義函數示例119 5.3.1在工作表中使用函數119 5.3.2在VBA過程中使用函數120 5.3.3分析自定義函數121 5.4函數過程122 5.4.1函數的作用域123 5.4.2執行函數過程124 5.5函數過程的參數126 5.6函數示例126 5.6.1無參數的函數126 5.6.2帶有一個參數的函數128 5.6.3帶有兩個參數的函數131 5.6.4使用數組作為參數的函數132 5.6.5帶有可選參數的函數133 5.6.6返回VBA數組的函數134 5.6.7返回錯誤值的函數136 5.6.8帶有不定數量參數的函數138 5.7模擬Excel的SUM函數139 5.8擴展後的日期函數142 5.9函數的調試143 5.10使用“插入函數”對話框144 5.10.1使用MacroOptions方法144 5.10.2指定函數類別146 5.10.3手動添加函數說明147 5.11使用加載項存儲自定義函數148 5.12使用WindowsAPI148 5.12.1WindowsAPI示例149 5.12.2確定Windows目錄149 5.12.3檢測Shift鍵150 5.12.4了解有關API函數的更多信息151 第6章了解Excel事件152 6.1Excel可以監視的事件類型152 6.1.1了解事件發生的順序153 6.1.2存放事件處理程序的位置153 6.1.3禁用事件154 6.1.4輸入事件處理代碼155 6.1.5使用參數的事件處理程序156 6.2工作簿級別的事件157 6.2.1Open事件158 6.2.2Activate事件159 6.2.3SheetActivate事件159 6.2.4NewSheet事件159 6.2.5BeforeSave事件160 6.2.6Deactivate事件160 6.2.7BeforePrint事件160 6.2.8BeforeClose事件162 6.3檢查工作表事件163 6.3.1Change事件164 6.3.2監視格區域的修改165 6.3.3SelectionChange事件169 6.3.4BeforeDoubleClick事件170 6.3.5BeforeRightClick事件170 6.4監視應用程序事件171 6.4.1啟用應用程序級別的事件172 6.4.2確定工作簿何時被打開173 6.4.3監視應用程序級別的事件174 6.4.4訪問與對像無關聯的事件174 6.4.5OnTime事件174 6.4.6OnKey事件176 第7章VBA編程示例與技巧179 7.1通過示例學習179 7.2格區域179 7.2.1格區域180 7.2.2格區域181 7.2.3復制大小可格區域181 7.2.4選中或者識別各種類格區域182 7.2.5格區域大小184 7.2.6提示格中的值184 7.2.7在下一格中輸入一個值186 7.2.8暫停宏的運行以便獲得用戶選格區域187 7.2.9計算格的數目188 7.2.10確定選格區域的類型189 7.2.11有效地循環遍歷選格區域191 7.2.12刪除所有空行193 7.2.13任意次數地復制行194 7.2.14格區域是否包含在另格區域內195 7.2.15格的數據類型196 7.2.16格區域197 7.2.1格區域中寫入值的更好方法198 7.2.18傳遞一維數組中的內容200 7.2.1格區域傳遞給Variant類型的數組201 7.2.20按數值格201 7.2.21復制非連格區域203 7.3處理工作簿和工作表204 7.3.1保存所有工作簿204 7.3.2保存和關閉所有工作簿205 7.3.3隱藏除選區之外的區域205 7.3.4創建超鏈接內容表206 7.3.5同步工作表207 7.4VBA技巧208 7.4.1切換布爾類型的屬性值208 7.4.2顯示日期和時間209 7.4.3顯示友好時間210 7.4.4獲得字體列表211 7.4.5對數組進行排序213 7.4.6處理一繫列文件213 7.5用於代碼中的一些有用函數215 7.5.1FileExists函數215 7.5.2FileNameOnly函數216 7.5.3PathExists函數216 7.5.4RangeNameExists函數216 7.5.5SheetExists函數217 7.5.6WorkbookIsOpen函數217 7.5.7檢索已經關閉的工作簿中的值218 7.6一些有用的工作表函數220 7.6.1格的格式信息220 7.6.2會說話的工作表221 7.6.3顯示保存或打印文件的時間221 7.6.4理解對像的父對像222 7.6.5計算介於兩個值之格數目223 7.6.6確定行或列中最後一個非格224 7.6.7字符串與模式匹配225 7.6.8從字符串中提取素226 7.6.9拼寫出數字227 7.6.10多功能函數228 7.6.11SHEETOFFSET函數228 7.6.12返回所有工作表中的優選值229 7.6.13返回沒有重復隨素的數組230 7.6.14隨格區域232 7.6.1格區域進行排序233 7.7WindowsAPI調用234 7.7.1理解API聲明234 7.7.2確定文件的關聯性235 7.7.3確定默認打印機的信息236 7.7.4確定視頻顯示器的信息237 7.7.5讀寫注冊表238 第II部分高級VBA技術 第8章使用透視表243 8.1數據透視表示例243 8.1.1創建數據透視表244 8.1.2檢查錄制的數據透視表代碼245 8.1.3整理錄制的數據透視表代碼246 8.2創建更復雜的數據透視表248 8.2.1創建數據透視表的代碼249 8.2.2更復雜數據透視表的工作原理250 8.3創建多個數據透視表251 8.4創建轉換的數據透視表254 第9章使用圖表257 9.1關於圖表257 9.1.1圖表的位置257 9.1.2宏錄制器和圖表258 9.1.3Chart對像模型258 9.2創建嵌入式圖表259 9.3在圖表工作表上創建圖表261 9.4修改圖表261 9.5使用VBA激活圖表262 9.6移動圖表262 9.7使用VBA使圖表取消激活264 9.8確定圖表是否被激活264 9.9從ChartObjects或Charts集合中刪除圖表264 9.10循環遍歷所有圖表265 9.11調整ChartObjects對像的大小並對齊267 9.12創建大量圖表268 9.13導出圖表271 9.14修改圖表中使用的數據272 9.14.1基於格修改圖表數據273 9.14.2用VBA確定圖表中使格區域274 9.15使用VBA在圖表上顯示任意數據標簽277 9.16在用戶窗體中顯示圖表279 9.17理解圖表事件281 9.17.1使用圖表事件的一個示例282 9.17.2為嵌入式圖表啟用事件284 9.17.3示例:在嵌入式圖表上使用圖表事件285 9.18VBA制圖技巧287 9.18.1在整個頁面上打印嵌入式圖表287 9.18.2創建未鏈接的圖表287 9.18.3用MouseOver事件顯示文本289 9.18.4滾動圖表291 9.19使用迷你圖292 第10章與其他應用程序的交互296 10.1了解MicrosoftOffice自動化296 10.1.1了解“綁定”概念296 10.1.2一個簡單的自動化示例298 10.2從Excel中自動執行Access任務299 10.2.1從Excel中運行Access查詢299 10.2.2從Excel運行Access宏300 10.3從Excel自動執行Word任務301 10.3.1將Excel數據傳遞給Word文檔301 10.3.2模擬Word文檔的郵件合並功能302 10.4從Excel自動執行PowerPoint任務304 10.4.1將Excel數據發送到PowerPoint演示文稿中304 10.4.2將所有Excel圖表發送到PowerPoint演示文稿中305 10.4.3將工作表轉換成PowerPoint演示文稿307 10.5從Excel自動執行Outlook任務308 10.5.1以附件形式發送活動工作簿308 10.5.2以附件形式發送格區域309 10.5.3以附件形式發送指定的單個工作表310 10.5.4發送給聯繫人列表中的所有Email地址311 10.6從Excel啟動其他應用程序312 10.6.1使用VBA的Shell函數313 10.6.2使用Windows的ShellExecuteAPI函數315 10.6.3使用AppActivate語句316 10.6.4激活“控制面板”對話框317 第11章處理外部數據和文件318 11.1處理外部數據連接318 11.2PowerQuery基礎介紹318 11.2.1了解查詢步驟323 11.2.2刷新PowerQuery數據324 11.2.3管理已有的查詢324 11.2.4使用VBA創建動態連接325 11.2.5遍歷工作簿中的所有連接327 11.3使用ADO和VBA來提取外部數據328 11.3.1連接字符串328 11.3.2聲明記錄集329 11.3.3引用ADO對像庫330 11.3.4以編程方式使用ADO連接Access331 11.3.5對活動工作簿使用ADO332 11.4處理文本文件334 11.4.1打開文本文件334 11.4.2讀取文本文件335 11.4.3編寫文本文件335 11.4.4獲取文件序號335 11.4.5確定或設置文件位置335 11.4.6讀寫語句336 11.5文本文件操作示例336 11.5.1導入文本文件的數據336 11.5.格區域的數據導出到文本文件337 11.5.3將文本文件的內容導格區域338 11.5.4記錄Excel日志的用法339 11.5.5篩選文本文件339 11.6執行常見的文件操作340 11.6.1使用與VBA文件相關的指令341 11.6.2使用FileSystemObject對像345 11.7壓縮和解壓縮文件347 11.7.1壓縮文件347 11.7.2解壓縮文件348 第III部分操作用戶窗體 第12章使用自定義對話框353 12.1創建用戶窗體之前需要了解的內容353 12.2使用輸入框353 12.2.1VBA的InputBox函數353 12.2.2Excel的InputBox方法356 12.3VBA的MsgBox函數359 12.4Excel的GetOpenFilename方法363 12.5Excel的GetSaveAsFilename方法366 12.6提示輸入目錄名稱366 12.7顯示Excel的內置對話框367 12.8顯示數據記錄單369 12.8.1使得數據記錄單變得可以訪問369 12.8.2通過使用VBA來顯示數據記錄單370 第13章用戶窗體概述371 13.1Excel如何處理自定義對話框371 13.2插入新的用戶窗體372 13.3向用戶窗體中添加控件372 13.4“工具箱”中的控件373 13.4.1復選框373 13.4.2組合框374 13.4.3命令按鈕374 13.4.4框架374 13.4.5圖像374 13.4.6標簽375 13.4.7列表框375 13.4.8多頁375 13.4.9選項按鈕375 13.4.10RefEdit375 13.4.11滾動條375 13.4.12數值調節鈕375 13.4.13TabStrip375 13.4.14文本框376 13.4.15切換按鈕376 13.5調整用戶窗體的控件377 13.6調整控件的屬性378 13.6.1使用“屬性”窗口378 13.6.2共同屬性379 13.6.3滿足鍵盤用戶的需求381 13.7顯示用戶窗體383 13.7.1調整顯示位置384 13.7.2顯示非模態的用戶窗體384 13.7.3顯示基於變量的用戶窗體384 13.7.4加載用戶窗體384 13.7.5關於事件處理程序385 13.8關閉用戶窗體385 13.9創建用戶窗體的示例386 13.9.1創建用戶窗體386 13.9.2編寫代碼顯示對話框389 13.9.3測試對話框390 13.9.4添加事件處理程序391 13.9.5完成對話框392 13.9.6了解事件392 13.9.7數值調節鈕的事件394 13.9.8數值調節鈕與文本框配套使用395 13.10引用用戶窗體的控件397 13.11自定義“工具箱”399 13.11.1在“工具箱”中添加新頁399 13.11.2自定義或組合控件399 13.11.3添加新的ActiveX控件400 13.12創建用戶窗體的模板401 13.13用戶窗體問題檢測列表402 第14章用戶窗體示例403 14.1創建用戶窗體式菜單403 14.1.1在用戶窗體中使用命令按鈕403 14.1.2在用戶窗體中使用列表框404 14.2從用戶窗體格區域405 14.3創建歡迎界面407 14.4禁用用戶窗體的關閉按鈕408 14.5改變用戶窗體的大小409 14.6在用戶窗體中縮放和滾動工作表411 14.7列表框技巧412 14.7.1向列表框控件中添加條目413 14.7.2確定列表框中選中的條目417 14.7.3確定列表框中的多個選中條目417 14.7.4單個列表框中的多個列表418 14.7.5列表框條目的轉移419 14.7.6在列表框中移動條目420 14.7.7使用多列的列表框控件422 14.7.8使用列表框選中工作表中的行423 14.7.9使用列表框激活工作表425 14.7.10通過文本框來篩選列表框428 14.8在用戶窗體中使用多頁控件429 14.9使用外部控件431 14.10使標簽動畫化433 第15章高級用戶窗體技術436 15.1非模態對話框436 15.2顯示進度條439 15.2.1創建獨立的進度條440 15.2.2集成到用戶窗體中的進度條444 15.2.3創建非圖形化進度條447 15.3創建向導448 15.3.1為向導設置多頁控件449 15.3.2在向導用戶窗體中添加按鈕450 15.3.3編寫向導按鈕的程序450 15.3.4編寫向導中的相關代碼451 15.3.5使用向導執行任務453 15.4模仿MsgBox函數454 15.4.1模仿MsgBox函數:MyMsgBox函數的代碼455 15.4.2MyMsgBox函數的工作原理456 15.4.3使用MyMsgBox函數457 15.5帶有可移動控件的用戶窗體457 15.6沒有標題欄的用戶窗體459 15.7使用用戶窗體模擬工具欄460 15.8使用用戶窗體來模仿任務面板462 15.9可調整大小的用戶窗體463 15.10用一個事件處理程序處理多個用戶窗體控件466 15.11在用戶窗體中選擇顏色468 15.12在用戶窗體中顯示圖表470 15.12.1將圖表保存為GIF文件471 15.12.2更改圖像控件的Picture屬性471 15.13使用戶窗體半透明471 15.14用戶窗體上的數字推盤473 15.15用戶窗體上的電動撲克474 第IV部分開發Excel應用程序 第16章創建和使用加載項477 16.1什麼是加載項477 16.1.1加載項與標準工作簿的比較477 16.1.2創建加載項的原因478 16.2理解Excel的加載項管理器480 16.3創建加載項481 16.4加載項示例482 16.4.1為加載項示例添加描述信息483 16.4.2創建加載項483 16.4.3安裝加載項484 16.4.4測試加載項485 16.4.5發布加載項485 16.4.6修改加載項485 16.5比較XLAM和XLSM文件486 16.5.1XLAM文件中的VBA集合成員486 16.5.2XLSM和XLAM文件的可見性487 16.5.3XLSM和XLAM文件的工作表和圖表工作表487 16.5.4訪問加載項中的VBA過程488 16.6用VBA操作加載項491 16.6.1向AddIns集合中添加項491 16.6.2從AddIns集合中刪除項492 16.6.3AddIn對像屬性492 16.6.4作為工作簿訪問加載項495 16.6.5AddIn對像事件496 16.7優化加載項的性能496 16.8加載項的特殊問題497 16.8.1確保加載項已經安裝497 16.8.2從加載項中引用其他文件499 第17章使用功能區500 17.1功能區基礎500 17.2自定義功能區501 17.2.1向功能區中添加按鈕502 17.2.2向快速訪問工具欄中添加按鈕504 17.2.3自定義功能區的局限性505 17.3創建自定義的功能區505 17.3.1將按鈕添加到現有的選項卡中506 17.3.2向已有的選項卡中添加復選框510 17.3.3功能區控件演示513 17.3.4dynamicMenu控件示例520 17.3.5關於自定義功能區的其他內容522 17.4VBA和功能區523 17.4.1訪問功能區控件523 17.4.2使用功能區524 17.4.3激活選項卡526 17.5創建老式工具欄526 17.5.1老式工具欄的局限性526 17.5.2創建工具欄的代碼526 第18章使用快捷菜單529 18.1命令欄簡介529 18.1.1命令欄的類型529 18.1.2列出快捷菜單530 18.1.3引用命令欄531 18.2引用命令欄中的控件531 18.3命令欄控件的屬性532 18.4顯示所有的快捷菜單項533 18.5使用VBA自定義快捷菜單534 18.6重置快捷菜單536 18.6.1禁用快捷菜單537 18.6.2禁用快捷菜單項538 18.6.3格”快捷菜單中添加一個新項538 18.6.4向快捷菜單添加一個子菜單540 18.6.5將快捷菜單到單個工作簿542 18.7快捷菜單與事件542 18.7.1自動添加和刪除菜單542 18.7.2禁用或隱藏快捷菜單項543 18.7.3創建一個上下文相關的快捷菜單543 第19章為應用程序提供幫助546 19.1Excel應用程序的“幫助”546 19.2使用Excel組件的幫助繫統548 19.2.1為幫助繫統格批注548 19.2.2為幫助繫統使用文本框549 19.2.3使用工作表來顯示幫助文本550 19.2.4在用戶窗體中顯示幫助信息551 19.3在Web瀏覽器中顯示“幫助”554 19.3.1使用HTML文件554 19.3.2使用一個MHTML文件555 19.4使用HTML幫助繫統556 19.4.1使用Help方法來顯示HTML幫助信息557 19.4.2將“幫助”文件與應用程序相關聯558 19.4.3將一個幫助主題與一個VBA函數相關聯558 第20章理解類模塊560 20.1什麼是類模塊560 20.1.1內置的類模塊561 20.1.2自定義類模塊561 20.2創建NumLock類562 20.2.1插入類模塊562 20.2.2給類模塊添加VBA代碼563 20.2.3使用CNumLock類564 20.3屬性、方法和事件編程565 20.3.1對像屬性編程565 20.3.2對像的方法編程566 20.3.3類模塊事件567 20.4QueryTable事件567 20.5創建存儲類的類570 20.5.1創建CSalesRep和CSalesReps類570 20.5.2創建CInvoice和CInvoices類572 20.5.3用對像填充父類573 20.5.4計算傭金574 第21章兼容性問題576 21.1什麼是兼容性576 21.2兼容性問題的類型577 21.3避免使用新功能578 21.4在Mac機器上是否可用579 21.5處理64位Excel580 21.6創建一個國際化應用程序581 21.7多語言應用程序582 21.8VBA語言的考慮583 21.9使用本地屬性583 21.10繫統設置識別584 21.11日期和時間設置586 附錄AVBA語句和函數引用587 A.1VBA語句587 A.2函數590 記錄簡單的宏以及執行其他相關操作 動態操作工作簿和工作表 自動生成透視表和圖表 管理外部數據和外部文件 從Excel直接發送郵件 創建自定義Excel功能區界面 開發和發布自定義的Excel加載項 (美)邁克爾·亞力山大(Michael Alexander),(美)迪克·庫斯萊卡(Dick Kusleika) 著 石磊 譯 "Michael Alexander是一名微軟認證應用程序開發人員(MCAD),著有Microsoft Access和 Microsoft Excel高級業務分析的相關書籍。他在咨詢和開發Microsoft Office解決方案方面擁有超過20年的經驗。Michael因對Excel社區的持續貢獻而被評為Microsoft MVP。可以通過www.datapigtechnologies.com網站與他取得聯繫。Dick Kusleika是12次Microsoft Excel MVP,與Microsoft Office合作超過20年。Dick為客戶開發基於Access和Excel的解決方案,並等
" |