注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計程序設計綜合Excel 2003高級VBA編程寶典

Excel 2003高級VBA編程寶典

Excel 2003高級VBA編程寶典

定 價:¥79.00

作 者: (美)John Walkenbach著;蓋江南,王勇等譯;蓋江南譯
出版社: 電子工業(yè)出版社
叢編項: 寶典叢書
標 簽: EXECL

ISBN: 9787121017858 出版時間: 2005-10-01 包裝: 膠版紙
開本: 26cm+1光盤 頁數(shù): 696 字數(shù):  

內(nèi)容簡介

  本書是專門為在Excel2003中使用VBA編程而編寫的一部專著。全書共分8個部分,主要包括Excel2003的基本背景、Excel應用程序開發(fā)、VBA編程、用戶窗體和高級編程技巧等內(nèi)容。本書用大量的示例、代碼闡述了VBA編程的概念,是學習在Excel2003中用VBA進行編程的最直接和最有效的方法。通過本書的學習,能使讀者迅速、輕松、高效地完成各種復雜工作。本書可作為有一定經(jīng)驗的Excel用戶學習VBA編程的首選書籍,同時也是高級Excel編程人員深入VBA編程的一本非常不錯的參考書。本書前言歡迎使用本書。如果要為別人開發(fā)電子表格應用程序,或者希望發(fā)揮Excel的最大功效,這本書是不錯的選擇。本書的目的現(xiàn)在有很多Excel方面的高級書籍,但是本書的特色在于它是一本全面介紹電子表格應用程序開發(fā)的書籍。VBA僅僅是一種應用程序開發(fā)的組件(盡管這個組件相當大)。Excel有著深厚的底蘊,它有很多潛伏在底層的特性,不為一般的用戶所知,可以采用一些新穎的方式使用其中某些廣為人知的特性。全世界有數(shù)百萬人都在使用Excel。筆者在Internet上了解過與電子表格軟件有關的新聞組,很明顯,人們需要幫助,本書恰恰為他們提供了多方面的幫助。本書的讀者對象如果對使用Excel沒有任何經(jīng)驗,最好先閱讀由電子工業(yè)出版社翻譯出版的《中文版Excel2003寶典》和《Excel2003公式與函數(shù)應用寶典》這兩本書,它們?nèi)娴馗爬薊xcel的所有特性,讀者對象可以是各個級別的Excel用戶。為了發(fā)揮本書的最大功效,讀者應該是有一些使用經(jīng)驗的Excel用戶。實際上,本書假設讀者已經(jīng)掌握了以下技能:如何創(chuàng)建工作簿、插入工作表、保存文件等如何操縱工作簿如何使用菜單和快捷菜單如何管理Excel的工具欄如何輸入公式如何使用Excel的工作表函數(shù)如何命名單元格和單元格區(qū)域如何使用基本的特性,比如文件管理方法和剪貼板的使用如果不知道如何完成上述任務,就會發(fā)現(xiàn)不能完全理解本書講述的內(nèi)容,這說明你可能不太適合閱讀這本書,還需要補充一些Excel的相關基礎知識。如果讀者是曾經(jīng)使用過Excel2003的有經(jīng)驗的電子表格軟件用戶,可以直接從第2章開始閱讀,這一章簡短地概述了這個產(chǎn)品提供的功能。所需的資源為了充分利用本書的資源,需要在計算機上安裝Excel程序。雖然本書是針對Excel2003編寫的,但是其中很多內(nèi)容也適用于Excel97以及更高的版本。如果使用的是更早以前的版本(比如Excel5或者Excel95),就不適合閱讀這本書。本書中的大部分材料同樣也適用于Macintosh機器上的Excel版本。然而,這本書沒有用Mac版本進行兼容性測試,所以只能靠你自己了。只要具備能夠運行Windows的計算機系統(tǒng)就足夠了,但是機器運轉(zhuǎn)速度越快、內(nèi)存越大當然就更好了。Excel程序很大,在速度慢的系統(tǒng)上或者內(nèi)存太小的系統(tǒng)上使用Excel非常折磨人。建議使用較高的屏幕分辨率(1024×768像素就夠了,如果是1600×1200像素則更好)。使用較低的分辨率也行,但是可能屏幕顯得不夠大。為了利用本書附帶的光盤上的示例,還需要一個光驅(qū)。本書的約定花一點時間閱讀這一節(jié),這里介紹了本書使用的一些約定。VBA代碼本書包含很多VBA代碼片段以及完整的過程清單。每個清單都以等寬字體顯示,每一行代碼占據(jù)一行(這里的清單從VBA模塊中直接復制而來并粘貼到字處理器中)。為了使得代碼更易閱讀,通常使用一個或者多個制表符來生成縮進。是否縮進編排是可選的,但是有助于看清楚語句的結(jié)構(gòu)。如果一行代碼在本書上的一行中排不下,可以使用標準的VBA換行連接序列。在一行的末尾,用一個空格以及下劃線來表示這行代碼將擴展到下一行。例如,下面的兩行顯示的是一行代碼:IfRight(ActiveCell,1)="!"ThenActiveCell_=Left(ActiveCell,Len(ActiveCell)-1)可以選擇在兩行上顯示上述代碼,如上面所示,也可以不用下劃線字符而將其顯示在一行上。函數(shù)、文件名和命名的單元格區(qū)域Excel的工作表函數(shù)以大寫字母顯示,比如“在單元格C20中輸入SUM公式”。VBA過程的名稱、屬性、方法和對象都采用等寬字體顯示,比如“執(zhí)行GetTotals過程”。通常使用大小寫混合的形式使得這些名稱更容易閱讀。圖標縱觀全書,本書使用一些圖標來引起讀者的注意,告訴讀者這些信息特別重要。使用這個圖標指出討論的內(nèi)容是Excel2003新增的。如果正在開發(fā)將要用在之前的Excel版本的應用程序,就要特別注意這些圖標。這里使用“注意”圖標告訴讀者指示的信息非常重要,也許是有助于幫助讀者掌握隨后任務的概念,或者是有助于理解后面材料的一些基礎知識?!疤崾尽眻D標指出更便捷的方式或者可能不是很顯而易見的方法。這些圖標表示示例文件在本書附帶的光盤上可以找到(請參閱前言中的“關于附帶的光盤”一節(jié))。這個光盤包含了本書介紹的很多示例以及筆者創(chuàng)建的PowerUtilityPak軟件的試用版。這些圖標表示如果在操作時不小心會導致問題出現(xiàn)。這些圖標請讀者參閱其他章節(jié)中有關某個主題的詳細信息。本書的組織結(jié)構(gòu)本書的章節(jié)分為8個主要的部分。第1部分基本背景第1章簡要介紹電子表格軟件的發(fā)展歷史,從而明白Excel如何適應潮流而來。在第2章中,從概念上概述Excel2003,對于轉(zhuǎn)換到這個Excel版本的有經(jīng)驗的用戶來說,這些內(nèi)容非常有用。在第3章中,講述有關公式的內(nèi)容,其中包括一些對讀者來說更加巧妙的方法。第4章講述Excel可以使用的各種文件格式以及它可以生成的各種文件格式。第2部分Excel應用程序開發(fā)這一部分由兩章組成。第5章廣泛地討論電子表格應用程序的概念。第6章講述更多的細節(jié)信息并闡述電子表格應用程序開發(fā)過程中通常要采用的步驟。第3部分理解VBA第7章到第11章構(gòu)成第3部分,這些章節(jié)包括學習VBA必須要了解的內(nèi)容。在這一部分中,介紹VBA的基本情況、提供編程的基礎知識以及如何開發(fā)VBA子例程和函數(shù)的詳細信息。第11章包含大量有用的VBA示例。第4部分用戶窗體這部分概括自定義對話框方面的內(nèi)容(也稱之為用戶窗體)。第12章介紹創(chuàng)建自定義用戶窗體的一些內(nèi)置的方法。第13章介紹用戶窗體以及可以使用的各種控件的內(nèi)容。第14章和第15章列舉很多自定義對話框的例子。第5部分高級編程技巧第5部分講述通常認為是高級技巧的其他方法。前3章討論如何開發(fā)實用程序以及如何使用VBA處理數(shù)據(jù)透視表和數(shù)據(jù)透視圖的方法。第19章講述事件處理的內(nèi)容,當某些事件發(fā)生時,利用這些事件處理程序可以自動執(zhí)行過程。第20章討論在與其他應用程序(比如Word)交互時可以采用的各種方法。第21章深入討論創(chuàng)建加載宏的內(nèi)容。第6部分開發(fā)應用程序這部分的章節(jié)講述創(chuàng)建面向用戶的應用程序時的重要基礎內(nèi)容。第22章和第23章提供創(chuàng)建自定義工具欄和菜單的信息。第24章展示為應用程序提供在線幫助的幾種不同的方法。在第25章中,敘述有關開發(fā)面向用戶的應用程序的基本信息,還詳細描述了應用程序的例子。第7部分其他主題這部分講述其他一些主題。第26章敘述有關兼容性方面的信息。在第27章中,討論使用VBA處理文件的各種方法。在第28章中,解釋如何使用VBA處理諸如用戶窗體和模塊這樣的VisualBasic組件。第29章講述類模塊的主題。這部分的最后一章很有用,它回答了有關Excel編程方面的很多常見問題。第8部分附錄本書包含4個附錄。附錄A包含有關在線Excel資源的一些有用信息。附錄B列出VBA的所有關鍵字(語句和函數(shù))。在附錄C中解釋VBA的錯誤代碼。附錄D描述了本書附帶的光盤上可以找到的文件。關于附帶的光盤本書附帶的光盤上包含了很多有用的示例,這些示例在本書的正文中闡述過。相比只是閱讀書中的文字,通過示例可以學到更多。因此,筆者在開發(fā)光盤上的示例方面花費了更多的時間,而沒有寫更多的章節(jié)。附帶光盤中的文件沒有經(jīng)過壓縮,因此可以直接從光盤訪問這些文件。有關光盤上的每個文件的說明請參閱附錄D。關于PowerUtilityPak軟件PUP收集了很多有用的Excel實用程序,還包含很多新的工作表函數(shù)。筆者專門用VBA開發(fā)了這個軟件包。在日復一日的使用Excel的過程中,會發(fā)現(xiàn)這個產(chǎn)品很有用,建議讀者使用這個免費的產(chǎn)品。也可以用象征性的費用購買該產(chǎn)品的完整的VBA源代碼。通過這些代碼可以學到一些有用的編程技巧??梢詮谋緯綆У墓獗P上安裝30天的PowerUtilityPak試用版。

作者簡介

  JohnWalkenbach是享有Mr.Spreadsheet美譽的國際知名作者,是電子表格軟件方面的權(quán)威,是美國Wiley出版公司出版的Excel系列叢書的總策劃和總編輯,并且還是JWalkandAssociatesInc.公司的負責人,這是一家總部在美國圣地亞哥的咨詢公司,專門致力于電子表格應用程序的開發(fā)。John編寫了30多部電子表格軟件方面的書籍,其中很多在亞馬遜網(wǎng)站上都贏得了5顆星的評價,其中的《Excel2003公式與函數(shù)應用寶典》、《中文版Excel2003寶典》和《Excel2003高級VBA編程寶典》已由電子工業(yè)出版社翻譯出版并暢銷至今。他還為各大報刊雜志撰寫了300多篇文章,其中不乏大量的知名計算機專業(yè)雜志。他還負責維護一個網(wǎng)站——TheSpreadsheetPage(網(wǎng)址是WWW.j-walk.com/ss),并且是PowerUtilityPak的開發(fā)者,這是一個MicrosoftExcel加載宏,該加載宏受到了廣大使用者的一致好評。John畢業(yè)于密蘇里大學,并從蒙大拿大學獲得了碩士學位和博士學位。

圖書目錄

第1部分Excel基礎知識 1
第1章Excel2003的起源 2
1.1電子表格軟件的簡短歷史 2
1.1.1最初的起源VisiCalc 2
1.1.2Lotus1-2-3 2
1.1.3QuattroPro 5
1.1.4MicrosoftExcel 5
1.2Excel對開發(fā)人員的重要性 9
1.3Excel在微軟戰(zhàn)略中的角色 9
第2章Excel概述 11
2.1關于對象 11
2.2工作簿 12
2.2.1工作表 12
2.2.2圖表工作表 13
2.2.3XLM宏工作表 13
2.2.4Excel5/95對話框編輯表 14
2.3Excel的用戶界面 14
2.3.1菜單 14
2.3.2快捷菜單 15
2.3.3工具欄 15
2.3.4對話框 16
2.3.5拖放 16
2.3.6鍵盤快捷鍵 17
2.3.7智能標記 17
2.3.8任務窗格 17
2.4數(shù)據(jù)錄入 18
2.5公式.函數(shù)和名稱 19
2.6定制屏幕顯示 20
2.7選擇對象 20
2.8格式 21
2.8.1數(shù)字型格式 21
2.8.2樣式型格式 21
2.9形狀 22
2.10圖表 22
2.11宏和編程 23
2.12數(shù)據(jù)庫訪問 23
2.12.1工作表數(shù)據(jù)庫 24
2.12.2外部數(shù)據(jù)庫 24
2.13Internet特性 25
2.14XML特性 26
2.15分析工具 26
2.15.1分級顯示 26
2.15.2自動的分類匯總 26
2.15.3AnalysisToolPak 26
2.15.4數(shù)據(jù)透視表 27
2.15.5Solver 28
2.16加載宏 28
2.17兼容性 28
2.18保護選項 28
2.18.1保護公式以防被修改 28
2.18.2保護工作簿的結(jié)構(gòu) 29
2.18.3用密碼保護工作簿 30
2.18.4用密碼保護VBA代碼 30
2.19Excel的“幫助”系統(tǒng) 31
第3章公式的技巧 32
3.1公式簡介 32
3.2計算公式 32
3.3單元格和單元格區(qū)域引用 33
3.3.1為什么使用不是相對的引用 33
3.3.2R1C1表示法 34
3.3.3引用其他的工作表或者工作簿 35
3.4使用名稱 36
3.4.1命名單元格和單元格區(qū)域 36
3.4.2將名稱應用于現(xiàn)有的引用 36
3.4.3交叉名稱 37
3.4.4命名列和行 38
3.4.5名稱的作用域 38
3.4.6命名常量 38
3.4.7命名公式 39
3.4.8命名對象 40
3.5公式錯誤 41
3.6數(shù)組公式 41
3.6.1一個數(shù)組公式的例子 42
3.6.2數(shù)組公式日歷 43
3.6.3數(shù)組公式的優(yōu)缺點 43
3.7計數(shù)和求和技巧 43
3.7.1使用COUNTIF或者SUMIF函數(shù) 44
3.7.2使用數(shù)組公式進行計數(shù)和求和 44
3.7.3其他計數(shù)工具 45
3.8使用日期和時間 46
3.8.1輸入日期和時間 46
3.8.2使用1900年之前的日期 46
3.9創(chuàng)建大公式 47
第4章理解Excel的文件 50
4.1啟動Excel 50
4.2所支持的電子表格文件格式 51
4.2.1Lotus1-2-3電子表格文件 52
4.2.2QuattroPro電子表格文件 52
4.2.3數(shù)據(jù)庫文件格式 52
4.2.4文本文件格式 53
4.2.5其他文件格式 53
4.3用Excel編寫的文件 53
4.3.1XLS文件 54
4.3.2工作區(qū)文件 54
4.3.3模板文件 55
4.3.4工具欄文件 55
4.3.5加載宏文件 56
4.4Excel和HTML 56
4.4.1Excel如何使用HTML 56
4.4.2增加難度 57
4.4.3創(chuàng)建交互式的HTML文件 58
4.5導入和導出XML文件 59
4.5.1什么是XML 59
4.5.2使用映射導入XML數(shù)據(jù) 60
4.5.3將XML數(shù)據(jù)導入到列表中 62
4.5.4從Excel導出XML數(shù)據(jù) 63
4.6注冊表中的Excel設置 63
4.6.1關于注冊表 63
4.6.2Excel的設置 64
第2部分Excel應用程序開發(fā) 67
第5章電子表格應用程序的內(nèi)涵 68
5.1電子表格應用程序 68
5.2開發(fā)人員和終端用戶 69
5.2.1誰是開發(fā)人員 69
5.2.2電子表格應用程序用戶的分類 70
5.2.3電子表格應用程序的客戶 70
5.3用電子表格應用程序解決問題 71
5.4基本的電子表格應用程序類型 71
5.4.1快捷但質(zhì)量不高的電子表格應用程序 72
5.4.2自己創(chuàng)作.自己使用的電子表格應用程序 72
5.4.3單用戶電子表格應用程序 72
5.4.4意大利面條式電子表格應用程序 73
5.4.5實用電子表格應用程序 73
5.4.6包含工作表函數(shù)的加載宏 74
5.4.7單元塊預算式電子表格應用程序 74
5.4.8假設分析模型式電子表格應用程序 74
5.4.9數(shù)據(jù)存儲和訪問電子表格應用程序 74
5.4.10數(shù)據(jù)庫前端電子表格應用程序 75
5.4.11統(tǒng)包式電子表格應用程序 75
第6章電子表格應用程序開發(fā)的基礎 76
6.1確定用戶需求 76
6.2規(guī)劃滿足用戶需求的應用程序 77
6.3確定最合適的用戶界面 78
6.3.1創(chuàng)建自定義的對話框 79
6.3.2在工作表上使用ActiveX控件 79
6.3.3自定義菜單 80
6.3.4自定義工具欄 82
6.3.5創(chuàng)建快捷鍵 83
6.3.6執(zhí)行開發(fā)的成果 83
6.4使自己關心終端用戶 84
6.4.1測試電子表格應用程序 84
6.4.2盡量完善電子表格應用程序的安全性 85
6.4.3使得電子表格應用程序比較美觀和直觀 86
6.4.4創(chuàng)建用戶幫助系統(tǒng) 87
6.4.5編制有關開發(fā)成果的文檔 87
6.4.6將電子表格應用程序分發(fā)給用戶 87
6.4.7需要的時候更新電子表格應用程序 88
6.5其他開發(fā)問題 88
6.5.1用戶安裝的Excel版本 88
6.5.2語言問題 89
6.5.3系統(tǒng)速度 89
6.5.4視頻模式 89
第3部分理解VBA 91
第7章VBA概述 92
7.1基本的背景 92
7.2關于VBA 92
7.2.1對象模型 93
7.2.2VBA與XLM的對比 93
7.3VBA基礎知識 94
7.4VisualBasic編輯器概述 96
7.4.1激活VBE 96
7.4.2VBE窗口 97
7.5使用“工程資源瀏覽器”窗口 98
7.5.1添加新的VBA模塊 99
7.5.2刪除VBA模塊 99
7.5.3導出和導入對象 99
7.6使用“代碼”窗口 100
7.6.1最小化和最大化窗口 100
7.6.2存儲VBA代碼 101
7.6.3輸入VBA代碼 101
7.7定制VBE環(huán)境 106
7.7.1使用“編輯器”選項卡 106
7.7.2使用“編輯器格式”選項卡 108
7.7.3使用“通用”選項卡 109
7.7.4使用“可連接的”選項卡 110
7.8宏錄制器 111
7.8.1宏錄制器實際記錄哪些內(nèi)容 111
7.8.2相對模式還是絕對模式 112
7.8.3錄制選項 115
7.8.4整理已錄制的宏 115
7.9關于對象和集合 117
7.9.1對象層次結(jié)構(gòu) 117
7.9.2關于集合 118
7.9.3引用對象 118
7.10屬性和方法 119
7.10.1對象的屬性 119
7.10.2對象的方法 119
7.11Comment對象示例 121
7.11.1查看有關Comment對象的幫助 121
7.11.2Comment對象的屬性 122
7.11.3Comment對象的方法 122
7.11.4Comments集合 123
7.11.5關于Comment屬性 123
7.11.6Comment對象中的對象 124
7.11.7確定單元格中是否含有Comment對象 125
7.11.8添加新的Comment對象 125
7.11.9一些有用的應用程序?qū)傩?126
7.12Range對象的使用 127
7.12.1Range屬性 128
7.12.2Cells屬性 129
7.12.3Offset屬性 130
7.13關于對象 131
7.13.1基本的理念 131
7.13.2學習有關對象和屬性的更多信息 132
第8章VBA編程基礎 135
8.1VBA語言元素概覽 135
8.2注釋 137
8.3變量.數(shù)據(jù)類型和常量 138
8.3.1定義數(shù)據(jù)類型 139
8.3.2聲明變量 141
8.3.3變量的作用域 142
8.3.4常量的使用 145
8.3.5字符串的使用 146
8.3.6日期的使用 147
8.4賦值語句 148
8.5數(shù)組 149
8.5.1聲明數(shù)組 149
8.5.2聲明多維數(shù)組 149
8.6對象變量 150
8.7用戶定義數(shù)據(jù)類型 151
8.8內(nèi)置函數(shù) 152
8.9處理對象和集合 154
8.9.1With-EndWith構(gòu)造 154
8.9.2ForEach-Next構(gòu)造 155
8.10控制執(zhí)行 156
8.10.1GoTo語句 157
8.10.2If-Then構(gòu)造 157
8.10.3SelectCase構(gòu)造 160
8.10.4指令的循環(huán)塊 163
第9章VBA的Sub過程 169
9.1關于過程 169
9.1.1聲明Sub過程 169
9.1.2過程的作用域 170
9.2執(zhí)行Sub過程 171
9.2.1用“運行子過程/用戶窗體”命令執(zhí)行過程 172
9.2.2從“宏”對話框執(zhí)行過程 172
9.2.3用Ctrl鍵組合執(zhí)行過程 172
9.2.4從自定義菜單執(zhí)行過程 173
9.2.5從另一個過程執(zhí)行過程 175
9.2.6從工具欄按鈕執(zhí)行過程 178
9.2.7通過單擊對象執(zhí)行過程 179
9.2.8當事件發(fā)生時執(zhí)行過程 180
9.2.9從“立即窗口”執(zhí)行過程 180
9.3向過程傳遞參數(shù) 181
9.4錯誤處理技術 184
9.4.1捕獲錯誤 184
9.4.2錯誤處理示例 185
9.5使用Sub過程的實際例子 187
9.5.1目的 187
9.5.2工程需求 188
9.5.3已經(jīng)了解的信息 188
9.5.4著手處理 188
9.5.5需要了解哪些信息 189
9.5.6初步的錄制工作 189
9.5.7初始設置 190
9.5.8代碼的編寫 191
9.5.9排序過程的編寫 192
9.5.10更多測試 195
9.5.11修復問題 195
9.5.12實用程序的可用性 197
9.5.13對工程進行評估 197
第10章創(chuàng)建Function過程 199
10.1Sub過程與Function過程對比 199
10.2為什么創(chuàng)建自定義的函數(shù) 199
10.3介紹性的函數(shù)示例 200
10.3.1一個自定義函數(shù) 200
10.3.2在工作表中使用函數(shù) 200
10.3.3在VBA過程中使用函數(shù) 201
10.3.4分析自定義函數(shù) 202
10.4Function過程 202
10.4.1聲明函數(shù) 203
10.4.2函數(shù)的作用域 203
10.4.3執(zhí)行Function過程 204
10.5Function過程的參數(shù) 205
10.6函數(shù)示例 206
10.6.1無參數(shù)的函數(shù) 206
10.6.2另一個無參數(shù)的函數(shù) 206
10.6.3接受一個參數(shù)的函數(shù) 207
10.6.4接受兩個參數(shù)的函數(shù) 209
10.6.5接受數(shù)組參數(shù)的函數(shù) 210
10.6.6接受可選參數(shù)的函數(shù) 211
10.6.7返回VBA數(shù)組的函數(shù) 212
10.6.8返回錯誤值的函數(shù) 214
10.6.9接受不定數(shù)量的參數(shù)的函數(shù) 215
10.7模擬Excel的SUM函數(shù) 216
10.8調(diào)試函數(shù) 218
10.9使用“插入函數(shù)”對話框 219
10.9.1指定函數(shù)類別 220
10.9.2添加函數(shù)說明 220
10.10使用加載宏存儲自定義的函數(shù) 222
10.11使用WindowsAPI 222
10.11.1WindowsAPI示例 223
10.11.2確定Windows目錄 223
10.11.3檢測Shift鍵 224
10.11.4了解更多有關API函數(shù)的信息 225
第11章VBA編程示例和技巧 226
11.1處理單元格區(qū)域 226
11.1.1復制單元格區(qū)域 226
11.1.2移動單元格區(qū)域 227
11.1.3復制大小可變的單元格區(qū)域 228
11.1.4選中或者識別各種類型的單元格區(qū)域 229
11.1.5提示輸入單元格中的值 230
11.1.6在下一個空單元格內(nèi)輸入一個值 231
11.1.7暫停宏的運行以便獲得用戶選中的單元格區(qū)域 232
11.1.8計算選中的單元格的數(shù)目 234
11.1.9確定選中的單元格區(qū)域的類型 234
11.1.10有效地遍歷選中的單元格區(qū)域 235
11.1.11刪除所有空行 237
11.1.12確定單元格區(qū)域是否包含在另一個單元格區(qū)域內(nèi) 238
11.1.13確定單元格的數(shù)據(jù)類型 238
11.1.14讀寫單元格區(qū)域 239
11.1.15給單元格區(qū)域?qū)懼档母玫姆椒?240
11.1.16傳遞一維數(shù)組中的內(nèi)容 242
11.1.17將單元格區(qū)域傳遞給Variant類型的數(shù)組 242
11.1.18選中單元格區(qū)域中的最大值 243
11.1.19選中有某種特殊格式的所有單元格 244
11.2處理工作簿和工作表 245
11.2.1保存所有工作簿 246
11.2.2保存和關閉所有工作簿 246
11.2.3訪問工作簿的屬性 246
11.2.4同步工作表 247
11.3VBA技巧 248
11.3.1切換布爾類型的屬性值 248
11.3.2確定打印的頁面的數(shù)量 249
11.3.3顯示日期和時間 249
11.3.4獲得字體列表 250
11.3.5排序數(shù)組 251
11.3.6處理一系列文件 252
11.4用在代碼中的一些有用的函數(shù) 254
11.4.1FileExists函數(shù) 254
11.4.2FileNameOnly函數(shù) 254
11.4.3PathExists函數(shù) 255
11.4.4RangeNameExists函數(shù) 255
11.4.5SheetExists函數(shù) 255
11.4.6WorkbookIsOpen函數(shù) 255
11.4.7檢索已經(jīng)關閉的工作簿中的值 256
11.5一些有用的工作表函數(shù) 257
11.5.1返回單元格的格式信息 258
11.5.2顯示與保存和打印的文件有關的數(shù)據(jù) 259
11.5.3理解對象的父親 259
11.5.4計算值介于兩個值之間的單元格數(shù)目 260
11.5.5計算單元格區(qū)域中可見單元格的數(shù)目 261
11.5.6確定行或者列中最后一個非空的單元格 261
11.5.7字符串與模式匹配 263
11.5.8從字符串中提取第n個元素 264
11.5.9多功能的函數(shù) 265
11.5.10SHEETOFFSET函數(shù) 266
11.5.11返回所有工作表中數(shù)據(jù)的最大值 266
11.5.12返回沒有重復的隨機整數(shù)元素的數(shù)組 267
11.5.13隨機化單元格區(qū)域 269
11.6WindowsAPI調(diào)用 270
11.6.1確定文件的關聯(lián)性 270
11.6.2確定默認打印機的信息 271
11.6.3確定當前的視頻模式 272
11.6.4給應用程序添加聲音 273
11.6.5讀寫注冊表 274
第4部分用戶窗體 277
第12章多種自定義對話框的方法 278
12.1創(chuàng)建用戶窗體之前需要了解的內(nèi)容 278
12.2使用輸入框 278
12.2.1VBA的InputBox函數(shù) 278
12.2.2Excel的InputBox函數(shù) 280
12.3VBA的MsgBox函數(shù) 281
12.4Excel的GetOpenFilename方法 284
12.5Excel的GetSaveAsFilename方法 287
12.6提示輸入目錄名稱 287
12.6.1使用WindowsAPI函數(shù)選中目錄 288
12.6.2使用FileDialog對象選中目錄 290
12.7顯示Excel的內(nèi)置對話框 290
12.7.1使用Dialogs集合 290
12.7.2了解更多與內(nèi)置對話框有關的信息 292
12.7.3用內(nèi)置對話框時使用參數(shù) 292
12.7.4直接執(zhí)行菜單項 293
第13章用戶窗體概述 294
13.1Excel如何處理自定義對話框 294
13.2插入新的用戶窗體 294
13.3往用戶窗體上添加控件 295
13.4“工具箱”的控件 296
13.4.1復選框 296
13.4.2組合框 296
13.4.3命令按鈕 296
13.4.4框架 296
13.4.5圖像 296
13.4.6標簽 297
13.4.7列表框 297
13.4.8多頁 297
13.4.9選項按鈕 297
13.4.10RefEdit 297
13.4.11滾動條 297
13.4.12數(shù)值調(diào)節(jié)鈕 297
13.4.13TabStrip 298
13.4.14文本框 298
13.4.15切換按鈕 298
13.5調(diào)整用戶窗體的控件 299
13.6調(diào)整控件的屬性 300
13.6.1使用“屬性”窗口 300
13.6.2共同屬性 301
13.6.3更多屬性的信息 301
13.6.4適應鍵盤用戶的需求 301
13.7顯示和關閉用戶窗體 303
13.7.1顯示用戶窗體 303
13.7.2關閉用戶窗體 304
13.7.3關于事件處理程序 305
13.8創(chuàng)建用戶窗體示例 306
13.8.1創(chuàng)建用戶窗體 306
13.8.2編寫代碼顯示對話框 308
13.8.3測試對話框 308
13.8.4添加事件處理程序 309
13.8.5驗證數(shù)據(jù)的有效性 310
13.8.6完成的對話框作品 311
13.9理解用戶窗體的事件 311
13.9.1了解事件 311
13.9.2用戶窗體的事件 312
13.9.3數(shù)值調(diào)節(jié)鈕的事件 312
13.9.4數(shù)值調(diào)節(jié)鈕與文本框配對 314
13.10引用用戶窗體的控件 316
13.11自定義“工具箱” 317
13.11.1更改圖標或者提示文本 317
13.11.2添加新頁 317
13.11.3自定義或者組合控件 317
13.11.4添加新的ActiveX控件 318
13.12創(chuàng)建用戶窗體的模板 318
13.13用戶窗體檢驗表 319
第14章用戶窗體示例 320
14.1創(chuàng)建用戶窗體式菜單 320
14.1.1在用戶窗體中使用命令按鈕 320
14.1.2在用戶窗體中使用列表框 321
14.2從用戶窗體選中單元格區(qū)域 322
14.3創(chuàng)建歡迎界面 323
14.4禁用用戶窗體的關閉按鈕 324
14.5改變用戶窗體的大小 325
14.6從用戶窗體縮放和滾動工作表 326
14.7列表框技巧 328
14.7.1關于列表框控件 328
14.7.2向列表框控件添加條目 329
14.7.3確定選中的條目 332
14.7.4確定選中的列表框中的多個條目 332
14.7.5單個列表框中的多個列表 333
14.7.6列表框條目的轉(zhuǎn)移 334
14.7.7在列表框中移動條目 335
14.7.8使用多列的列表框控件 336
14.7.9使用列表框選中工作表中的行 338
14.7.10使用列表框激活工作表 339
14.8在用戶窗體中使用多頁控件 341
第15章用戶窗體的高級技巧 343
15.1顯示進度條 343
15.1.1創(chuàng)建獨立的進度條 344
15.1.2使用多頁控件顯示進度條 346
15.1.3不用多頁控件顯示進度條 347
15.2創(chuàng)建向?qū)?348
15.2.1為向?qū)гO置多頁控件 348
15.2.2向向?qū)в脩舸绑w添加按鈕 349
15.2.3編寫向?qū)О粹o的程序 349
15.2.4編寫向?qū)е械南嚓P性代碼 351
15.2.5用向?qū)?zhí)行任務 352
15.3模仿MsgBox函數(shù) 353
15.3.1MyMsgBox代碼 354
15.3.2如何模仿MsgBox 355
15.3.3在模仿MsgBox函數(shù)的過程中使用MyMsgBox函數(shù) 356
15.4非模態(tài)用戶窗體 356
15.5用一個事件處理程序處理多個用戶窗體按鈕 358
15.6在用戶窗體中選擇顏色 360
15.7在用戶窗體中顯示圖表 362
15.7.1將圖表保存為文件 362
15.7.2使用OWC的ChartSpace控件 363
15.8在用戶窗體中顯示電子表格 366
15.8.1使得Spreadsheet控件可用 366
15.8.2把Spreadsheet控件添加到用戶窗體中 366
15.8.3使用OWCSpreadsheet控件的簡單示例 366
15.9復雜的用戶窗體EnhancedDataForm 368
15.9.1關于EnhancedDataForm 369
15.9.2安裝EnhancedDataForm加載宏 370
15.9.3使用EnhancedDataForm 370
第5部分高級編程技巧 371
第16章用VBA開發(fā)Excel實用程序 372
16.1關于Excel實用程序 372
16.2使用VBA開發(fā)實用程序 373
16.3如何造就好的實用程序 373
16.4TextTools剖析實用程序 373
16.4.1TextTools的背景 374
16.4.2TextTools的工程目標 374
16.4.3TextTools實用程序的運作機理 375
16.4.4TextTools工作簿 375
16.4.5TextTools實用程序的用戶窗體 375
16.4.6ThisWorkbook代碼模塊 376
16.4.7Module1VBA模塊 378
16.4.8UserForm1代碼模塊 379
16.4.9使得TextTools實用程序更加有效率 380
16.4.10保存TextTools實用程序的設置 381
16.4.11實現(xiàn)撤銷操作 382
16.4.12事后分析工程 383
16.4.13理解TextTools實用程序 384
16.5了解有關Excel實用程序的更多內(nèi)容 384
第17章數(shù)據(jù)透視表 386
17.1介紹性數(shù)據(jù)透視表示例 386
17.1.1創(chuàng)建數(shù)據(jù)透視表 386
17.1.2檢查錄制的數(shù)據(jù)透視表代碼 388
17.1.3整理錄制的數(shù)據(jù)透視表代碼 388
17.2創(chuàng)建更加復雜的數(shù)據(jù)透視表 389
17.2.1為更加復雜的數(shù)據(jù)透視表準備的數(shù)據(jù) 389
17.2.2生成數(shù)據(jù)透視表的代碼 390
17.2.3更復雜的數(shù)據(jù)透視表的運作機理 392
17.3從外部數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)透視表 392
17.4創(chuàng)建多個數(shù)據(jù)透視表 394
17.5修改數(shù)據(jù)透視表 396
第18章圖表 398
18.1關于圖表 398
18.1.1圖表的位置 398
18.1.2Chart對象模型 399
18.2錄制圖表宏 400
18.2.1圖表生成宏錄制器輸出 400
18.2.2整理圖表生成的宏錄制器輸出 401
18.3常用的VBA制圖方法 402
18.3.1使用VBA激活圖表 402
18.3.2使用VBA使得圖表處于非活動狀態(tài) 404
18.3.3確定圖表是否處于活動狀態(tài) 404
18.3.4從ChartObjects或者Charts集合中刪除圖表 405
18.3.5使用VBA應用圖表的格式 405
18.3.6遍歷所有圖表 406
18.3.7調(diào)整ChartObject對象的大小和對齊ChartObject對象 407
18.4更多制圖的示例 408
18.4.1在SERIES公式中使用名稱 408
18.4.2使用VBA指定圖表使用的數(shù)據(jù) 410
18.4.3使用VBA確定圖表中使用的單元格區(qū)域 412
18.4.4使用VBA顯示圖表上的任意的數(shù)據(jù)標志 415
18.4.5在用戶窗體上顯示圖表 416
18.5理解圖表的事件 418
18.5.1使用圖表事件的示例 419
18.5.2為嵌入圖表啟用事件 421
18.5.3在嵌入圖表上使用圖表事件 423
18.6VBA制圖技巧 425
18.6.1在整個頁面上打印嵌入圖表 425
18.6.2創(chuàng)建靜態(tài)圖表 425
18.6.3用MouseOver事件顯示文本 426
18.6.4動態(tài)圖表 428
18.6.5創(chuàng)建內(nèi)擺線圖表 429
18.6.6創(chuàng)建時鐘式圖表 430
18.7不使用宏的制圖技巧 431
18.7.1使用“自動篩選”特性控制數(shù)據(jù)系列 431
18.7.2在圖表工作表上存儲多個圖表 433
18.7.3創(chuàng)建自我擴展式的圖表 433
18.7.4創(chuàng)建交互式的圖表 438
第19章理解Excel的事件 442
19.1Excel可以監(jiān)視的事件類型 442
19.2應該了解的有關事件的信息 442
19.2.1理解事件的順序 443
19.2.2在何處放置事件處理程序的過程 443
19.2.3禁用事件 444
19.2.4輸入事件處理程序的代碼 445
19.2.5使用參數(shù)的事件處理程序的過程 446
19.3工作簿級別的事件 447
19.3.1Open事件 448
19.3.2Activate事件 449
19.3.3SheetActivate事件 449
19.3.4NewSheet事件 449
19.3.5BeforeSave事件 449
19.3.6Deactivate事件 450
19.3.7BeforePrint事件 450
19.3.8BeforeClose事件 451
19.4工作表級別的事件 452
19.4.1Change事件 453
19.4.2監(jiān)視特定的單元格區(qū)域的內(nèi)容是否發(fā)生變化 454
19.4.3SelectionChange事件 456
19.4.4BeforeRightClick事件 457
19.5圖表事件 457
19.6應用程序事件 459
19.6.1啟用應用程序級別的事件 460
19.6.2確定何時打開工作簿 460
19.6.3監(jiān)視應用程序級別的事件 461
19.7用戶窗體事件 462
19.8沒有與對象關聯(lián)的事件 463
19.8.1OnTime事件 463
19.8.2OnKey事件 465
第20章與其他應用程序交互 467
20.1從Excel啟動別的應用程序 467
20.1.1使用VBA的Shell函數(shù) 467
20.1.2使用Windows的ShellExecuteAPI函數(shù) 469
20.2用Excel激活別的應用程序 470
20.2.1使用AppActivate 470
20.2.2激活某個MicrosoftOffice應用程序 471
20.3運行“控制面板”對話框 471
20.4在Excel中使用自動化 472
20.4.1使用Automation處理外部對象 473
20.4.2早期綁定與后期綁定 473
20.4.3后期綁定的簡單示例 475
20.4.4從Excel控制Word 476
20.4.5從另一個應用程序控制Excel 479
20.5通過Outlook發(fā)送私人的電子郵件 481
20.6使用ADO 482
20.7從Excel發(fā)送電子郵件附件 484
20.8使用SendKeys 484
第21章創(chuàng)建和使用加載宏 487
21.1加載宏的概念 487
21.1.1加載宏與標準工作簿的比較 487
21.1.2創(chuàng)建加載宏的原因 488
21.2理解Excel的加載宏管理器 489
21.3創(chuàng)建加載宏 490
21.4加載宏示例 491
21.4.1為加載宏示例設置工作簿 491
21.4.2為加載宏示例測試工作簿 491
21.4.3為加載宏示例添加描述性信息 491
21.4.4創(chuàng)建加載宏 492
21.4.5安裝加載宏 493
21.4.6發(fā)布加載宏 494
21.4.7修改加載宏 494
21.5對比XLA文件和XLS文件 495
21.5.1XLS和XLA文件大小和結(jié)構(gòu) 495
21.5.2XLA文件的VBA集合成員 495
21.5.3XLS和XLA文件的可見性 496
21.5.4XLS和XLA文件中的工作表和圖表工作表 496
21.5.5在加載宏中訪問VBA過程 497
21.6用VBA處理加載宏 499
21.6.1理解AddIns集合 499
21.6.2AddIns對象屬性 500
21.6.3AddIns對象事件 503
21.7優(yōu)化加載宏的性能 503
21.7.1最大化加載宏中的代碼執(zhí)行速度 503
21.7.2控制加載宏的文件大小 504
21.8加載宏存在的特殊問題 505
21.8.1確保安裝了加載宏 505
21.8.2從加載宏中引用其他的文件 506
21.8.3為加載宏檢測使用的Excel版本是否正確 506
第6部分開發(fā)應用程序 507
第22章創(chuàng)建自定義工具欄 508
22.1關于命令欄 508
22.2工具欄的處理 508
22.3Excel如何處理工具欄 509
22.3.1保存工具欄 509
22.3.2當工具欄不能正常運行時 510
22.4手動處理工具欄和按鈕 510
22.4.1關于命令欄自定義模式 510
22.4.2發(fā)布自定義工具欄 513
22.5處理CommandBars集合 515
22.5.1命令欄類型 515
22.5.2列出所有命令欄對象 515
22.5.3創(chuàng)建命令欄 516
22.5.4在VBA中引用命令欄 517
22.5.5使用VBA刪除命令欄 517
22.5.6命令欄的屬性 518
22.5.7引用命令欄中的控件 522
22.5.8列出命令欄中的控件 523
22.5.9列出所有工具欄上的所有控件 523
22.5.10給命令欄添加控件 525
22.5.11從命令欄中刪除控件 525
22.5.12命令欄控件的屬性 525
第23章創(chuàng)建自定義菜單 534
23.1關于Excel的菜單欄 534
23.2使用Excel的菜單可以完成哪些任務 534
23.2.1從專業(yè)術語角度理解Excel的菜單 535
23.2.2刪除Excel菜單元素 536
23.2.3添加Excel菜單元素 536
23.2.4更改Excel菜單元素 536
23.3使用VBA自定義Excel菜單 537
23.3.1列出Excel菜單信息 537
23.3.2往菜單欄添加新的菜單 539
23.3.3從菜單欄中刪除菜單 541
23.3.4往菜單添加菜單項 541
23.3.5顯示菜單項的快捷鍵 545
23.3.6修復重新設置了的菜單 546
23.4處理事件的菜單程序設計 547
23.4.1自動添加和刪除菜單 547
23.4.2禁用或者隱藏菜單 548
23.4.3處理選中的菜單項 549
23.5創(chuàng)建自定義菜單的簡便方法 551
23.6創(chuàng)建“工作表菜單欄”的替代品 553
23.7處理快捷菜單 555
23.7.1往快捷菜單添加菜單項 556
23.7.2從快捷菜單中刪除菜單項 557
23.7.3禁用快捷菜單項 557
23.7.4禁用快捷菜單 557
23.7.5重新設置快捷菜單 558
23.7.6創(chuàng)建新的快捷菜單 558
第24章為應用程序提供幫助文檔 561
24.1為應用程序提供幫助 561
24.2使用Excel組件的幫助系統(tǒng) 563
24.2.1為幫助系統(tǒng)使用單元格組件 563
24.2.2為幫助系統(tǒng)使用文本框 563
24.2.3使用工作表顯示幫助文本 564
24.2.4在用戶窗體中顯示幫助 565
24.2.5使用“Office助手”顯示幫助 567
24.3在用戶窗體中模擬“這是什么?”幫助 569
24.4使用HTMLHelp系統(tǒng) 570
24.5將幫助文件與應用程序關聯(lián)起來 571
24.6將幫助主題與某個VBA函數(shù)關聯(lián)起來 572
24.7顯示HTMLHelp文件的其他方法 573
24.7.1使用Help方法 573
24.7.2從消息框中顯示幫助 573
24.7.3從輸入框中顯示幫助 574
第25章開發(fā)面向用戶的應用程序 575
25.1什么是面向用戶的應用程序 575
25.2LoanAmortizationWizard 575
25.2.1使用LoanAmortizationWizard應用程序 575
25.2.2LoanAmortizationWizard的工作簿結(jié)構(gòu) 577
25.2.3LoanAmortizationWizard的運作原理 578
25.2.4增強LoanAmortizationWizard的潛能 581
25.3應用程序開發(fā)概念 582
第7部分其他主題 583
第26章兼容性問題 584
26.1什么是兼容性 584
26.2兼容性問題的種類 585
26.3Excel支持的文件格式 585
26.4避免使用新特性 586
26.5能夠在Mac機器上運行嗎 587
26.6創(chuàng)建國際通用的應用程序 588
26.6.1多語種應用程序 589
26.6.2VBA語言考慮事項 590
26.6.3使用本地屬性 590
26.6.4識別系統(tǒng)設置 590
26.6.5日期和時間設置 592
第27章用VBA處理文件 593
27.1執(zhí)行常見的文件操作 593
27.1.1使用VBA的有關文件的命令 593
27.1.2使用FileSearch對象 595
27.1.3使用FileSystemObject對象 597
27.1.4定位包含特定文本的文件 599
27.2處理文本文件 599
27.2.1打開文本文件 600
27.2.2讀文本文件 601
27.2.3寫文本文件 601
27.2.4獲得文件編號 601
27.2.5確定或者設置文件的位置 601
27.2.6讀寫文本文件的語句 602
27.3文本文件處理示例 602
27.3.1將數(shù)據(jù)導入到文本文件中 602
27.3.2將單元格區(qū)域?qū)С龅轿谋疚募?603
27.3.3將文本文件的內(nèi)容導入到單元格區(qū)域中 604
27.3.4記錄Excel日志的用法 605
27.3.5篩選文本文件 606
27.3.6導入多于256列的數(shù)據(jù) 606
27.3.7導出單元格區(qū)域到HTML格式的文件 608
27.3.8導出單元格區(qū)域到XML格式的文件 610
第28章處理VB組件 613
28.1IDE概述 613
28.2IDE對象模型 614
28.3顯示VBA工程中的所有組件 617
28.4對模塊進行更改 618
28.5使用VBA來編寫VBA代碼 620
28.6在設計時往用戶窗體上添加控件 621
28.6.1設計時與運行時對用戶窗體處理的比較 622
28.6.2在設計時添加100個命令按鈕 623
28.7通過編程創(chuàng)建用戶窗體 624
28.7.1簡單的運行時用戶窗體的示例 624
28.7.2有用的動態(tài)用戶窗體示例 626
第29章理解類模塊 631
29.1什么是類模塊 631
29.2創(chuàng)建NumLock類 632
29.2.1插入類模塊 632
29.2.2添加VBA代碼到類模塊中 632
29.2.3使用NumLock類 635
29.3更多有關類模塊的信息 636
29.3.1命名對象類 636
29.3.2對對象的屬性進行編程 636
29.3.3對對象的方法進行編程 637
29.3.4類模塊事件 638
29.4一個CSV文件類 638
29.4.1CSVFileClass類模塊的類模塊級別的變量 638
29.4.2CSVFileClass類模塊的屬性過程 639
29.4.3CSVFileClass類模塊的方法過程 639
29.4.4使用CSVFileClass對象 641
第30章有關Excel編程的常見問題 643
30.1一般的Excel問題 643
30.1.1為什么Excel有兩種宏語言 643
30.1.2需要發(fā)布工作簿給仍然使用Excel4的某些人,有辦法將動作錄制到某個XLM宏中嗎 643
30.1.3在Excel97以及更高的版本中還能運行為更早的Excel版本而編寫的XLM宏嗎 643
30.1.4能夠找到將Excel4宏轉(zhuǎn)換為VBA宏的第三方實用程序嗎 643
30.1.5能夠從Excel4.0XLM宏調(diào)用VBA過程嗎 643
30.1.6能夠自動將Lotus1-2-3或者QuattroPro宏轉(zhuǎn)換為VBA宏嗎 644
30.1.7在哪里可以找到VBA代碼的示例 644
30.1.8有將Excel應用程序轉(zhuǎn)換成獨立的EXE文件的實用程序嗎 644
30.1.9如何在單元格中添加一個下拉列表,使得用戶可以從這個列表中選擇某個值 644
30.1.10如果列表存儲在活動工作簿中的另一個工作表內(nèi),還可以使用這種下拉列表方法嗎 644
30.1.11使用Application.Calculation將計算模式設置為手動.然而,這看來會影響所有的工作簿而不僅僅是活動工作簿 644
30.1.12如何才能增加工作表中的列數(shù) 644
30.1.13如何才能增加工作表中的行數(shù) 645
30.1.14能改變工作表標簽的顏色嗎 645
30.1.15能改變工作表標簽的字體嗎 645
30.1.16能夠改變單元格批注的默認字體和顏色嗎 645
30.1.17能夠在Excel中播放聲音嗎 645
30.1.18當打開工作簿時,Excel詢問是否要更新鏈接,搜索了所有的公式之后,在這個工作簿中都找不到任何鏈接,這是bug嗎 645
30.1.19每次啟動Excel都崩潰 645
30.1.20在頁眉如何打印出工作簿的完整路徑和文件名 646
30.2有關VisualBasic編輯器的問題 646
30.2.1在Excel95中,VBA模塊還在工作簿中.當從Excel97或者更高的版本中打開這個文件時,卻看不到這些VBA模塊了 646
30.2.2能夠使用VBA宏錄制器錄制所有的宏嗎 646
30.2.3Excel95具有“在標記處錄制”特性,利用該特性可以從現(xiàn)有宏中的某個特殊位置開始錄制宏.這個特性仍然有用嗎 646
30.2.4有一些宏比較通用,想讓它們在任何時候都能夠用,最好采用哪種辦法 647
30.2.5找不到“個人宏工作簿”,它在哪里 647
30.2.6用密碼鎖定了VBA工程,但是卻忘記了命名.有什么辦法可以解除鎖定 647
30.2.7如何編寫宏來更改工程的密碼 647
30.2.8當插入新的模塊時,總是從OptionExplicit代碼行開始.這是為什么 647
30.2.9為什么VBA代碼以不同的顏色顯示?能改變這些顏色嗎 647
30.2.10能用VBA代碼刪除VBA模塊嗎 647
30.2.11在Excel2000中編寫了一個宏,這個宏往VB工程中添加一些VBA代碼.當在Excel2003中運行這個宏的時候,就會得到一條消息.這是怎么回事 648
30.2.12如何編寫宏來更改用戶的宏安全性設置?希望在打開編寫的應用程序時避免出現(xiàn)“工作簿中包含宏”消息 648
30.2.13當打開工作簿時,得到標準的宏警告消息.可是,刪除了這個工作簿中包含的所有宏.這是病毒嗎 648
30.2.14不理解保護工作表時UserInterfaceOnly選項的運作原理 648
30.2.15如何辨別工作簿是否含有宏病毒 648
30.2.16在VBA中使用符號(&)時遇到麻煩.當要連接兩個字符串時,就會得到錯誤消息 648
30.2.17VBA換行連續(xù)字符(下劃線)不起作用 648
30.2.18刪除大量的VBA代碼之后,發(fā)現(xiàn)XLS文件的大小并沒有相應縮減,為什么 649
30.2.19給很多用戶發(fā)布一個XLS應用程序.在某些機器上,其中的VBA錯誤處理過程不起作用.為什么 649
30.3過程 649
30.3.1VBA過程和宏之間有什么區(qū)別 649
30.3.2什么是過程 649
30.3.3什么是Variant數(shù)據(jù)類型 649
30.3.4Variant數(shù)組和Variant元素構(gòu)成的數(shù)組之間有什么區(qū)別 649
30.3.5什么是類型定義字符 650
30.3.6編寫了一個VBA函數(shù),當從另一個過程調(diào)用它時運行得很好.但是當在工作表公式中使用它時卻運行不了.這是怎么回事 650
30.3.7想創(chuàng)建一個根據(jù)所鍵入的數(shù)據(jù)自動更改單元格格式的過程.例如,如果輸入的值大于0,那么單元格的背景顏色就變成紅色.這可能做到嗎 650
30.3.8“條件格式”特性很有用,但是更喜歡當在單元格中輸入數(shù)據(jù)時執(zhí)行其他類型的操作 650
30.3.9可以監(jiān)視其他類型的事件嗎 650
30.3.10試著輸入了一個事件過程(SubWorkbook_Open),但是當打開工作簿時卻沒有執(zhí)行這個過程.這是為什么 651
30.3.11可以為某個特殊的工作簿編寫事件過程,但是能夠為任意打開的工作簿編寫事件過程嗎 651
30.3.12對在Excel中創(chuàng)建公式非常熟悉.VBA也使用了同樣的機制和邏輯運算符嗎 651
30.3.13如何在別的工作簿中執(zhí)行過程 651
30.3.14使用VBA創(chuàng)建了幾個自定義函數(shù).想在工作表公式中使用這些函數(shù),但是發(fā)現(xiàn)在函數(shù)名稱前加上工作簿的名稱極其不方便.還有別的辦法嗎 651
30.3.15希望在每次啟動時加載某個特殊的工作簿.還希望自動執(zhí)行這個工作簿中的某個宏.是不是不大可能做到 652
30.3.16有一個工作簿使用了Workbook_Open過程.有沒有辦法避免當打開這個工作簿時執(zhí)行這個過程呢 652
30.3.17VBA過程能夠訪問沒有打開的工作簿中的某個單元格的值嗎 652
30.3.18當從VBA關閉工作簿時,如何避免顯示“保存文件”的提示 652
30.3.19如何設置才能使得宏每小時運行一次 652
30.3.20如何防止在宏列表中顯示某個宏 652
30.3.21可以將圖表保存為GIF文件嗎 653
30.3.22某個VBA過程中的變量能在其他的VBA過程中使用嗎?可以在別的模塊中使用另外一個模塊中的過程嗎?可以在別的工作簿中使用另外一個工作簿中的過程嗎 653
30.4函數(shù) 653
30.4.1創(chuàng)建了一個自定義的工作表函數(shù).當用“插入函數(shù)”對話框訪問這種函數(shù)時,出現(xiàn)“沒有幫助信息”.如何才能使得“插入函數(shù)”對話框顯示關于這個函數(shù)的說明呢 653
30.4.2還能夠在“插入函數(shù)”對話框中顯示出自定義函數(shù)的參數(shù)幫助信息嗎 653
30.4.3自定義工作表函數(shù)出現(xiàn)在“插入函數(shù)”對話框的“用戶定義”類別中.怎么才能使得自定義的函數(shù)出現(xiàn)在別的函數(shù)類別中呢 653
30.4.4如何創(chuàng)建新的函數(shù)類別 654
30.4.5創(chuàng)建了一個將用在工作表公式中的自定義函數(shù).如果用戶輸入的參數(shù)值不合適,怎么才能使得函數(shù)返回真正的錯誤值(#VALUE!) 654
30.4.6如何強制重算使用了自定義工作表函數(shù)的公式 654
30.4.7能在VBA代碼中使用Excel的內(nèi)置工作表函數(shù)嗎 654
30.4.8Excel95不支持WorksheetFunction方法.這意味著編寫的Excel2002應用程序不能兼容于Excel95嗎 655
30.4.9在VBA代碼中能夠使用AnalysisToolPak的函數(shù)嗎 655
30.4.10有辦法在消息框的文本中強制換行嗎 655
30.5對象.屬性.方法和事件 655
30.5.1不理解對象的概念,有可以使用的Excel對象的列表嗎 655
30.5.2有太多屬性和方法可以使用.如何從中找出適用于某個特殊對象的方法和屬性呢 655
30.5.3集合的概念是什么?集合是對象嗎 656
30.5.4當在VBA代碼中引用工作表時,就會得到“下標越界”的錯誤.沒有使用任何下標,怎么會出現(xiàn)這種錯誤呢 656
30.5.5如何避免用戶的鼠標指針滾動到工作表的外部 656
30.5.6Select和Application.Goto之間有什么區(qū)別 656
30.5.7激活單元格區(qū)域和選中單元格區(qū)域之間有什么區(qū)別 656
30.5.8有沒有快速辦法可以刪除工作表的所有值,但是保持公式原封不動 657
30.5.9知道如何編寫VBA指令通過使用單元格地址來選中某個單元格區(qū)域,但是如果只知道單元格區(qū)域的行號和列號,又該如何編寫VBA指令來選中單元格區(qū)域呢 657
30.5.10有退出Excel的VBA命令嗎?當試著錄制“文件”“退出”命令時,還沒有看到它生成的代碼Excel就關閉了 657
30.5.11怎么關閉運行宏時的屏幕更新動作 657
30.5.12在VBA中創(chuàng)建單元格區(qū)域名稱的最簡單的方法是什么 657
30.5.13如何確定某個特殊的單元格或者單元格區(qū)域是否有名稱 657
30.5.14可以禁用顯示在Excel的“打印預覽”窗口中的“設置”和“頁邊距”按鈕嗎 658
30.5.15宏在運行的時候能夠在狀態(tài)欄中顯示消息嗎?編寫了一個很長代碼的宏,如果能在狀態(tài)欄中顯示它的運行進度就好了 658
30.5.16錄制了一個VBA宏,它復制某個單元格區(qū)域并將其粘貼到別的區(qū)域中.這個宏使用了Select方法.還有更加有效率的方式進行復制粘貼嗎 658
30.5.17沒有找到排序VBA數(shù)組的方法.只能先把值復制到工作表中,然后再使用Range.Sort方法嗎 658
30.5.18宏只對選中的單元格起作用,但是如果選中了別的內(nèi)容(比如圖表),則會運行失敗.如何能確保選中單元格區(qū)域了呢 659
30.5.19如何確定圖表是否處于活動狀態(tài) 659
30.5.20VBA宏要計算用戶選中的行數(shù).當選中不相鄰的行時,使用Selection.Rows.Count不起作用.這是bug嗎 659
30.5.21使用Excel創(chuàng)建發(fā)票,能生成惟一的發(fā)票編號嗎 659
30.5.22想使得某個工作簿一直保持可見,這樣別的應用程序窗口就不能隱藏該工作簿了,有這種屬性嗎 660
30.5.23如何阻止Excel在運行時顯示消息?例如,下面將消除宏刪除工作表時所出現(xiàn)的消息 660
30.5.24可以用VBA指令選中某一列或者某一行中的最后一項嗎?一般而言,可以使用Ctrl+Shift+下箭頭鍵或者Ctrl+Shift+右箭頭鍵組合,但是用宏應該怎么辦呢? 660
30.5.25如何確定某個特殊列中的最后一個非空的單元格 660
30.5.26如果A65536單元格不為空,上述指令就不會起作用 660
30.5.27VBA引用可以變得非常長,特別是在需要通過引用工作表和工作簿使得對對象的引用符合標準時.能縮減這種引用的長度嗎 661
30.5.28如果不知道數(shù)組包含多少元素,可以聲明數(shù)組嗎 661
30.5.29能允許用戶撤銷宏嗎 661
30.5.30有一個1-2-3宏能夠暫停運行使得用戶可以在某個特定的單元格中輸入數(shù)據(jù).如何在VBA宏中獲得同樣的效果呢 661
30.5.31VBA有一個InputBox函數(shù),但是還有一個Application對象的InputBox方法,兩者一樣嗎 661
30.5.32當使用RGB函數(shù)指定顏色后,有時候顏色不對.為什么 662
30.5.33編寫VBA指令創(chuàng)建一個公式,如果需要在引號引起來的文本中插入引號("),該怎么辦呢 662
30.5.34創(chuàng)建了一個數(shù)組,但是數(shù)組中的第1個元素卻成了第2個元素.這是為什么 662
30.5.35希望VBA代碼運行的速度盡可能快,有什么建議 662
30.6用戶窗體 662
30.6.1只需要少量的信息,而使用用戶窗體似乎有些大材小用,有別的辦法嗎 663
30.6.2用戶窗體上有12個命令按鈕.如何指定當單擊其中任意一個按鈕時執(zhí)行某一個宏 663
30.6.3如何在用戶窗體中顯示圖表 663
30.6.4如何從用戶窗體的標題欄上刪除“關閉”按鈕,不希望用戶單擊這個按鈕來關閉窗體 663
30.6.5創(chuàng)建了一個用戶窗體,其中的控件用ControlSource屬性鏈接到了工作表上的單元格.這是最佳的辦法嗎 663
30.6.6能為用戶窗體創(chuàng)建一個控件數(shù)組嗎?VisualBasic可以這么做,但是不知道在ExcelVBA中如何做 663
30.6.7隱藏用戶窗體和卸載用戶窗體之間有區(qū)別嗎 664
30.6.8做其他事情時如何保持用戶窗體的打開狀態(tài) 664
30.6.9在編寫UserForm1.ShowvbModeless時,Excel97出現(xiàn)一個編譯錯誤.如何在Excel2000以及更高的版本中使得窗體成為無模式的,而同時使其在Excel97中保持模態(tài)設置 664
30.6.10想在執(zhí)行耗費長時間的過程的同時顯示一個進度條,就像在安裝軟件時看到的那樣.該怎么做呢 664
30.6.11如何使用Excel的繪圖工具在用戶窗體上創(chuàng)建簡單的圖形 665
30.6.12如何才能在用戶窗體上產(chǎn)生文件及其目錄的列表,以便用戶可以從這個列表中選擇文件呢 665
30.6.13想把兩個字符串連接起來并將它們顯示在一個列表框控件中.但是在實現(xiàn)的時候,對不齊這些字符串.怎么才能使得字符串之間具有相等的間距呢 665
30.6.14想用條目填充列表框或者組合框控件,有沒有簡單的辦法 665
30.6.15能從VBA顯示內(nèi)置的Excel對話框嗎 665
30.6.16嘗試了上一個問題中描述的方法,但是卻收到錯誤消息.這是為什么 665
30.6.17每次創(chuàng)建用戶窗體時,都要重復添加“確定”按鈕和“取消”按鈕的步驟.有沒有辦法可以使得這些控件自動出現(xiàn)呢 665
30.6.18可以創(chuàng)建不帶標題欄的用戶窗體嗎 666
30.6.19錄制了一個打印文件的VBA宏.然而,好像無法在代碼中提供文件名.無論怎么試,都會得到希望提供文件名的提示 666
30.6.20當在用戶窗體上單擊某個按鈕時,沒有任何反應.哪里做錯了 666
30.6.21不管視頻顯示器的分辨率是多少,能創(chuàng)建大小一樣的用戶窗體嗎 666
30.6.22可以創(chuàng)建用戶窗體使得用戶能夠通過指示選中工作表的某個單元格區(qū)域嗎 666
30.6.23能改變用戶窗體的啟動位置嗎 666
30.6.24可以往工作簿中添加Excel5/95對話框工作表嗎 666
30.7加載宏 666
30.7.1從哪里可以獲得Excel加載宏 667
30.7.2如何安裝加載宏 667
30.7.3當從Excel的“加載宏”對話框安裝加載宏時,加載宏沒有名稱或者說明.如何給加載宏添加說明呢 667
30.7.4有一些加載宏不再使用,如何才能從“加載宏”對話框的“可用加載宏”列表中將它們刪除呢 667
30.7.5如何創(chuàng)建加載宏 667
30.7.6想創(chuàng)建一個加載宏,但是“保存類型”下拉列表中沒有提供加載宏方面的選項 667
30.7.7應該將所有必要的工作簿轉(zhuǎn)換為加載宏嗎 667
30.7.8需要將工作簿保存兩個副本(XLS版本和XLA版本)嗎 668
30.7.9如何在創(chuàng)建加載宏之后對其進行修改呢 668
30.7.10XLS文件與依據(jù)XLS文件創(chuàng)建的XLA文件之間有什么區(qū)別?XLA版本是編譯后的結(jié)果嗎?XLA版本是否運行得更快呢 668
30.7.11如何保護加載宏的代碼,使得別人查看不到它的代碼 668
30.7.12XLA加載宏安全嗎?換句話說,如果發(fā)布了XLA文件,能保證沒有人能夠查看其中的代碼嗎 668
30.8命令按鈕 668
30.8.1Excel95擁有一個很方便的菜單編輯器,但是Excel97以及更高的版本中卻沒有這種菜單編輯器.該怎么辦 668
30.8.2能編輯用Excel95的菜單編輯器創(chuàng)建的菜單嗎 668
30.8.3當用“自定義”對話框更改菜單時,菜單的改變是永久性的.如何才能使得菜單的更改只應用于一個工作簿呢 669
30.8.4知道可以使用Faceld屬性給工具欄控件添加圖像,但是如何找到對應于某個特殊圖像的Faceld值呢 669
30.8.5往工作簿附加了一個新版的工具欄,但是Excel繼續(xù)使用老式的版本,如何才能使用新版本的工具欄呢 669
30.8.6已經(jīng)對Excel的工具欄做了大量的修改.如何才能將所有這些工具欄恢復成原來的狀態(tài)呢 669
30.8.7如何使得自定義菜單只在某個特殊的工作簿處于活動狀態(tài)時才顯示出來 669
30.8.8如何在工具欄上的兩個按鈕之間添加分隔欄 669
30.8.9如何在菜單項旁邊顯示選中標記 670
30.8.10不小心刪除了工作表菜單中的某些項,但是找不回來,重新啟動Excel也不能修復 670
30.8.11如何禁用所有單擊右鍵出現(xiàn)的快捷菜單 670
30.8.12能禁用當用戶在工具欄上單擊鼠標右鍵出現(xiàn)的工具欄列表嗎 670
第8部分附錄 671
附錄AExcel在線資源 672
附錄BVBA語句和函數(shù)引用 677
附錄CVBA錯誤代碼 684
附錄D光盤上的內(nèi)容 687

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號