本書向讀者介紹Excel VBA程序設計的基礎知識,展示VBA編程的實戰技巧,幫助讀者快速經歷Excel VBA從入門到精通的成長過程。
全書共15章,內容涵蓋了Excel的宏、Excel VBA的開發環境、VBA語言基礎、VBA的基本語句、VBA的語句結構、過程和函數的概念、對象的知識、常用對象的使用(包括Application對象、WorkBook對象、Range對象、WorkSheets對象、Chart對象和Shape對象)、工作表使用的技巧。本書最后提供了一個員工信息管理系統的綜合案例,可讓讀者綜合所學知識進行應用開發。隨書贈送下載文件,包括書中全部實例的操作視頻、源文件和PPT文件,可隨時進行調用和播放學習。
本書適合需要學習Excel VBA程序設計的初級用戶,以及希望提高Excel VBA編程能力的中級用戶閱讀,同時也適合于相關專業的高等院校師生學習閱讀。
借助于ExcelVBA,讀者可以增強Excel的辦公自動化能力,提高使用Excel完成日常工作的效率。
本書涵蓋Excel2016VBA主要內容,通過眾多示例和1個綜合案例,讓讀者快速掌握ExcelVBA應用技巧。
本書圖文并茂,步驟和過程說明清晰、易于操作,讀者在學習過程中能夠直觀、清晰地看到操作的過程以及效果,方便讀者快速理解和掌握相關知識點。
讀者對象是ExcelVBA初學者、利用ExcelVBA進行數據分析處理的辦公人員、ExcelVBA應用開發人員。
前言
Excel是一款功能強大、技術先進且使用方便的數據分析和管理軟件。Excel的優秀表現,除了其強大的制表功能之外,還在于其具有二次開發的能力。Excel允許用戶以其作為平臺開發新的工具,以完成Excel本身所不具有的功能。實現Excel二次開發的工具就是內置于Excel中的VBA語言,通過VBA來進行Excel應用程序的開發,能夠增強Excel的自動化水平,提高Excel完成日常工作的效率,實現對復雜數據處理的簡化。
對于非計算機專業的讀者來說,學習一門計算機編程語言并非一件容易的事情,筆者也曾經歷過VBA初學時的掙扎和入門后的迷茫,能深深體會到一本兼顧知識性和實用性的參考書對于學習VBA的意義。為了幫助廣大讀者快速掌握VBA程序設計的特點,輕松提高程序設計的能力,筆者根據自己多年學習和應用ExcelVBA所獲得的經驗和體會編寫了本書。本書從ExcelVBA程序設計的基礎知識開始,引領讀者一步步深入了解VBA程序設計的應用。全書圍繞在VBA應用中遇到的各種問題來進行講解,可幫助讀者快速掌握ExcelVBA程序設計的相關知識并獲得技能。
本書特點
1.內容充實,知識全面
本書從ExcelVBA的基本語法知識出發,介紹了ExcelVBA中對象編程技巧、Excel應用程序界面的制作、ExcelVBA與數據庫的應用以及Excel與外部文件的交互等內容,涵蓋了ExcelVBA應用程序開發的方方面面,內容全面而豐富。
2.循序漸進,由淺入深
本書面向ExcelVBA各個層面的用戶,以幫助讀者快速掌握ExcelVBA程序設計為目標。全書在結構上采用由淺入深的方式,從讀者學習的角度出發,以解決讀者在學習過程中遇到的問題和掌握的使用技能為己任。在內容安排上,層層推進,步步深入,讓讀者實現“從入門到精通,由知之到用之”的平滑過渡。
3.實例豐富,實用為先
理解概念,掌握技巧,離不開編程實例。本書提供了大量的實例,實例選擇力求具有針對性,與知識點緊密結合并突出應用技巧。實例在設計上不追求高精尖,突出實用性,以利于讀者理解和實際操作。
4.優化代碼,深入剖析
本書實例代碼短小精悍,使用的算法不求高深,易于運行。本書沒有復雜的理論講解,通過代碼來體現知識的應用技巧,力求以最簡單的語句來解決最實際的問題。
5.類比講解,描述直觀
本書在對VBA對象方法和屬性進行介紹時,以Excel操作來進行類比,幫助讀者快速理解它們的作用。同時,全書圖文豐富,以直觀的描述方式來將知識要點和程序運行特征呈現到讀者面前。
6.適用性強,便于速查
本書介紹的所有知識、編程方法和技巧同樣適用于Excel的早期版本,如Excel2003和Excel2010。書中涉及的大多數源代碼均可以在實際應用中直接使用。同時,本書采用應用驅動模式,用戶可以通過目錄快速查找需要的操作任務實例,方便學習。
本書結構
本書共15章,章節內容如下:
第1章介紹VBA的開發環境,包括認識VBA編輯器、了解VBA編輯器中常見窗口和在VBA編輯器中輸入代碼的技巧。
第2章介紹Excel宏的有關知識,主要包括錄制宏的方法、設置宏的啟動方式、了解加載宏和Excel中的宏安全設置等知識。
第3~8章介紹VBA程序設計的基礎知識,包括VBA的數據類型和運算符、VBA的常用語句、VBA程序的流程控制、VBA過程和函數的概念以及VBA中對象的知識。
第9~13章介紹ExcelVBA中常見對象的使用,包括Application對象、WorkBook對象、WorkSheets對象、Range對象、Chart對象和Shape對象。
第14章介紹了在工作表中使用圖形和圖表。
第15章是一個綜合案例,介紹了使用ExcelVBA制作對企業員工信息進行管理的實用系統的過程。
本書代碼、課件和教學視頻
本書配套代碼、課件和教學視頻下載地址如下(注意字母大小寫和數字):
http://pan.baidu.com/s/1pKAQZG3(書中提供密碼)
如果下載有問題,請聯系booksaga@163.com,郵件主題為“Excel2016VBA”。
參與本書創作的人員除了封面署名作者外,還有王立平、劉祥淼、彭霽、樊愛宛、張澤娜、曹卉、林江閩、李陽、宋陽、楊超、趙東、李玉莉、劉巖、李雷霆、韓廣義等。在此感謝清華大學出版社圖格事業部編輯們的辛苦工作,使本書盡早與讀者見面。
編者
2017年8月
宋陽,工程師,多年來積極投身多媒體軟件制作與課堂整合的探索和研究,擅長Office軟件應用、VBA程序設計以及Flash多媒體軟件制作。做過多個VBA、Access方面的教學科目,對于寫作、教學、辦公都有自己獨到的經驗,期待與讀者分享。
目錄
第1章VBA編程第一步1
1.1你知道什么是VBE嗎1
1.1.1程序寫在哪里1
1.1.2如何打開VisualBasic編輯器3
1.2看看VisualBasic編輯器的構成4
1.2.1認識工程資源管理器4
1.2.2認識“屬性”窗口5
1.2.3認識“代碼”窗口7
1.2.4認識“立即窗口”9
1.3VBA代碼輸入其實很簡單9
1.3.1代碼窗口的使用9
1.3.2查詢對象的屬性和方法11
1.3.3在Excel2016中獲得幫助12
第2章進入ExcelVBA的世界14
2.1了解VBA的好工具——宏14
2.1.1認識宏14
2.1.2宏與VBA16
2.2讓宏方便運行17
2.2.1使用“宏”對話框運行宏17
2.2.2使用快捷鍵運行宏18
2.2.3使用對象運行宏19
2.2.4從快速訪問工具欄運行宏19
2.2.5從選項卡運行宏21
2.3加載宏的應用23
2.3.1使用Excel加載宏23
2.3.2錄制加載宏25
2.3.3卸載加載宏26
2.4我的宏為什么運行不了27
2.4.1讓你的宏更安全28
2.4.2對文件進行限制29
第3章學習VBA,從零開始31
3.1了解VBA的數據類型31
3.1.1認識VBA基本數據類型31
3.1.2特殊的枚舉類型33
3.1.3數據類型是可以自定義的34
3.2存儲數據的容器:變量35
3.2.1使用變量的第一步:聲明變量35
3.2.2先聲明,再使用——強制聲明變量36
3.2.3變量的作用域37
3.2.4變量的生存周期38
3.3必不可少的常量39
3.3.1直接常量39
3.3.2符號常量40
3.3.3系統常量41
3.4VBA的運算符42
3.4.1進行計算的算術運算符42
3.4.2比較大小的比較運算符43
3.4.3進行邏輯運算的邏輯運算符43
3.4.4合并字符的連接運算符44
3.4.5應該先算什么45
3.5大量數據的操作從數組開始46
3.5.1初識數組46
3.5.2聲明數組47
3.5.3隨心所欲的動態數組48
第4章編寫程序,從語句開始50
4.1編寫程序代碼的規則50
4.1.1編寫代碼必須遵循的原則50
4.1.2語句很長和很短怎么辦51
4.2最基本的語句——賦值和注釋語句52
4.2.1賦值語句52
4.2.2注釋語句53
4.3無須控件,一樣交互54
4.3.1使用輸入對話框輸入數據54
4.3.2使用MsgBox函數輸出數據56
4.3.3簡單實用的Print方法59
4.4暫停和退出程序的方法61
4.4.1讓程序暫時停止一下——使用Stop語句61
4.4.2停止程序的運行——End語句63
第5章控制程序的流程——VBA的基本語句結構65
5.1VBA的分支結構65
5.1.1實現單一條件選擇65
5.1.2實現雙重條件選擇68
5.1.3實現多重選擇70
5.1.4特殊的多分支語句71
5.2使用循環結構74
5.2.1指定循環次數的循環74
5.2.2針對數組和對象集合的循環77
5.2.3先條件后循環78
5.2.4先循環后條件81
5.3結構也可以嵌套83
5.3.1分支結構的嵌套83
5.3.2循環結構的嵌套84
5.4如何找出程序中的錯誤87
5.4.1讓程序跳轉到指定位置87
5.4.2抓住程序中的錯誤88
5.4.3錯誤處理完了該怎么辦91
第6章SUB過程,VBA的基本程序單元93
6.1你知道過程是什么嗎93
6.1.1過程放在哪里93
6.1.2VBA包含哪些過程94
6.2使用Sub過程95
6.2.1如何創建Sub過程96
6.2.2過程間的互相調用98
6.2.3過程的作用域100
6.3你有我有全都有——傳遞參數102
6.3.1傳遞參數的兩種方式102
6.3.2數組也可以作為參數104
6.3.3參數沒有傳遞該怎么辦105
6.3.4參數的數量無法確定該怎么辦108
第7章使用函數110
7.1有了過程為什么還要函數110
7.2使用函數111
7.2.1創建函數111
7.2.2調用函數112
7.2.3傳遞函數參數114
7.2.4在程序中使用工作表函數116
7.3使用內置函數118
7.3.1使用判斷函數119
7.3.2使用日期/時間函數121
7.3.3使用字符串函數122
7.3.4使用轉換函數124
7.3.5使用算術函數125
第8章使用對象128
8.1對象三要素128
8.1.1對象的屬性128
8.1.2對象的方法130
8.1.3對象事件132
8.2認識對象變量和對象數組134
8.2.1對象變量134
8.2.2對象數組136
8.3Excel的核心對象138
8.3.1認識ExcelVBA的對象模型138
8.3.2認識ExcelVBA的引用對象成員139
8.3.3認識ExcelVBA的對象集合141
第9章一切操作的開始——使用最頂層的Application對象144
9.1對Excel進行梳妝打扮144
9.1.1改變Excel窗口的位置144
9.1.2設置Excel窗口標題文字145
9.1.3設置狀態欄和編輯欄147
9.1.4設置鼠標指針形狀149
9.2對文件進行操作150
9.2.1獲取文件名151
9.2.2獲取文件的保存位置153
9.2.3打開文件154
9.2.4打開最近使用的文檔155
9.3操作Excel157
9.3.1了解Excel157
9.3.2對“最近使用的工作簿”列表進行操作158
9.3.3設置保存自動恢復文件的時間間隔和保存位置160
9.3.4使Excel不顯示警告信息對話框161
9.3.5設置新工作簿中工作表的個數162
9.3.6為過程的啟動指定快捷鍵163
9.3.7實現定時操作164
9.3.8退出Excel應用程序166
9.4與單元格有關的操作167
9.4.1取消對單元格的復制或剪切操作167
9.4.2設置單元格的選擇方向168
9.4.3控制函數名稱列表的顯示169
9.4.4設置編輯欄的高度170
9.4.5控制浮動工具欄的顯示172
9.4.6設置多線程計算174
9.4.7在工作表中快速選擇單元格175
9.4.8同時選擇多個單元格區域176
9.5使用對話框177
9.5.1使用內置對話框177
9.5.2使用輸入對話框179
9.6應用程序級的事件——Application事件181
9.6.1如何使用Application事件181
9.6.2激活工作表時觸發的事件184
9.6.3激活工作簿時觸發的事件185
9.6.4關閉工作簿時觸發的事件186
9.6.5在更改窗口大小時觸發的事件187
第1章VBA編程第一步
VBA(即VisualBasicApplication)是Office軟件中內置的程序設計語言,隨著Office的普及,使用VBA來開發基于Office的應用程序已經十分普遍。VBA的開發環境稱為VBE,所有與VBA程序設計有關的操作都將在這個開發環境中進行。
本章知識點
?認識VisualBasic編輯器。
?學習如何打開VisualBasic編輯器。
?掌握VisualBasic編輯器的使用。
?學會輸入VBA代碼。
1.1
你知道什么是VBE嗎
在進行Excel應用程序開發時,與VBA程序設計有關的操作都需要在VBE中進行。VBE實際上是一個獨立的應用程序,其擁有獨立的操作窗口,可以實現與Excel的完美結合。VBE環境不能獨立打開,必須依附于Excel。
1.1.1程序寫在哪里
對于Excel來說,編寫VBA代碼、調試已經錄制好的宏或是進行應用程序開發都離不開VisualBasic編輯器,這個VisualBasic編輯器又稱為VBE,它是書寫和編輯VBA代碼的場所。在Excel中啟動VisualBasic編輯器有多種方式,最簡單的方式就是在Excel程序窗口中直接按“Alt+F11”鍵打開VisualBasic編輯器。另外,還有下面這些方法可以打開VisualBasic編輯器。
?在Excel2016中,打開“開發工具”選項卡,在“代碼”組中單擊VisualBasic按鈕,如圖1-1所示,此時可以打開VisualBasic編輯器。
圖1-1單擊VisualBasic按鈕
說明:添加“開發工具”選項卡的方法是單擊“文件”|“選項”,打開“Excel選項”對話框,單擊左側的“自定義功能區”列表項,在打開的右側列表中會發現“開發工具”前面的復選框并未選中,只需選中,然后單擊“確定”按鈕即可。
?在Excel中,在任意一個工作表標簽上右擊,選擇打開菜單中的“查看代碼”命令,如圖1-2所示,此時同樣可以打開VisualBasic編輯器。
圖1-2選擇“查看代碼”命令
?在Excel2016中打開“開發工具”選項卡,在“控件”組中單擊“查看代碼”按鈕,如圖1-3所示,此時將同樣能夠打開VisualBasic編輯器。
圖1-3單擊“查看代碼”按鈕
?如果在Excel中錄制了宏,在打開“宏”對話框后,單擊“編輯”按鈕將同樣能夠打開VisualBasic編輯器,如圖1-4所示。
圖1-4單擊“宏”對話框中的“編輯”按鈕
1.1.2如何打開VisualBasic編輯器
打開VisualBasic編輯器,編輯器主界面與常用的Windows應用程序相同,包括標題欄、菜單欄、工具欄和各種子窗口等,如圖1-5所示。
……