申明: 本站飛宇網 https://feiyetopro.blogspot.com/。自網路收集整理之書籍、文章、影音僅供預覽交流學習研究,其[書籍、文章、影音]情節內容, 評論屬其個人行為, 與本網站無關。版權歸原作者和出版社所有,請在下載 24 小時內刪除,不得用作商業用途;如果您喜歡其作品,請支持訂閱購買[正版]。謝謝!
第2章 開始VBA程式設計的第一步
優秀的運動員總是非常注重起跑的第一步。
準確的姿勢,恰到好處的起跑時間,再加上中間的努力拼搏,總能帶給運動員優秀的成績。
比賽的最終贏家不但有過硬的運動天賦,而且一定經過長期學習和堅持訓練的過程。
想成為一名優秀的VBA程式設計者,最先應該瞭解什麼?讓我們一起來學習。
2.1 揭開神秘面紗背後的真面目
從小張的故事裡走出來,我們正式開始學習Excel VBA。
既然錄製的巨集就是VBA程式,那讓我們打開第1章1.2.2小節中錄製的宏所在的工作簿檔,一起研究研究。
2.1.1 程式保存在哪裡
參照圖2-1所示的操作,可以查看宏對應的代碼。
2.2 程式裡都有什麼
為了在程式設計時能更加得心應手,有必要先花點時間瞭解一下在程式設計的過程中,會反復提到的一些概念。
2.2.1 代碼
VBA的程式由代碼組成,可以通過錄製巨集或自主編寫得到VBA代碼。
2.2.2 過程
用VBA代碼把完成一個任務的所有操作保存起來就是一個VBA過程。一個過程可以有任意多的操作,可以有任意長的代碼。
在本書中,只介紹Sub過程和Function過程。
2.2.3 模組
模組是保存過程的地方,一個模組可以保存多個不同類型的過程。
2.2.4 對象
用代碼操作和控制的東西即為物件,如工作簿、工作表、儲存格、圖片、圖表、透視表等。
2.2.5 物件的屬性
每個物件都有屬性,屬性是物件包含的內容或特點。
從物件的屬性,可以瞭解該對角具有的性質和特點。如字體的顏色,顏色就是字體的屬性;按鈕的寬度,寬度就是按鈕的屬性。從物件的屬性還可以瞭解到這個物件包含了哪些其他的物件。如Sheetl工作表的A1儲存格,A1儲存格就是Sheetl工作表的屬性;A1儲存格的內容,內容就是A1儲存格的屬性。
在書寫時,物件和屬性之間用點(.)連接,物件在前,屬性在後,如A1儲存格的內容,用漢字表達為:A1.內容
寫成代碼為:
物件的某些屬性也是物件,屬性和物件是相對而言的。
2.2.6 物件的方法
每個物件都有方法,方法是指在物件上執行的某個動作。如選中A1儲存格,“選中”是在A1儲存格這個物件上執行的操作,就是A1儲存格的方法。
物件和方法之間也用點(.)連接,物件在前,方法在後,如選中A1儲存格寫成代碼為:
2.2.7 關鍵字
關鍵字是VBA中的保留字或符號,如語句名稱、函數名稱、運算子等都是關鍵字。
2.3 VBA的程式設計環境——VBE
在第2章2.1.1小節中打開的視窗就是編寫VBA程式的地方——VBE(Visual Basice Editor),瞭解VBA程式中經常提到的概念後,我們再花一點時間來熟悉它。
2.3.1 打開VBE編輯器
要進入VBE,首先必須啟動Excel程式,啟動Excel後,要切換到VBE視窗,常用的方法有以下幾種。
方法一:按<Alt+F11>複合鍵。
方法二:依次執行【工具】→【巨集】→【Visual Basic編輯器】功能表命令,如圖2-3所示。
方法四:按一下【Visual Basic】工具列中的【Visual Basic編輯器】按鈕,如圖2-5所示。
方法六:利用【控制項工具箱】新建一個ActiveX控制項,按兩下控制項打開VBE視窗,如圖2-7所示。
2.3.2 主窗口
進入VBE後,首先看到的就是VBE的主視窗,主視窗通常由【工程資源管理器】、【屬性視窗】、【代碼視窗】、【立即視窗】、【功能表列】和【工具列】組成,如圖2-8所示。
2.3.3 功能表列
VBE的【功能表列】和Excel 2003的功能表列類似,包含了VBE中各種元件的命令。
2.3.4 工具列
預設情況下,【工具列】位於【功能表列】的下面,可以在【視圖】→【工具列】功能表裡顯示或隱藏它,如圖2-9所示。
2.3.5 工程資源管理器
在【工程資源管理器】中可以看到所有打開的Excel工作簿和已載入的增益集,一個Excel的工作簿就是一個工程,工程名稱為“VBA Project(工作簿名稱)”。【工程資源管理器】中最多可以顯示工程裡的4類物件,即Excel物件(包括Sheet物件和ThisWorkbook物件)、表單物件、模組物件和類別模組物件,如圖2-10所示。
但並不是所有工程裡都包含這類物件,新建的Excel檔只有Excel類物件。
2.3.6 屬性視窗
可以在【屬性視窗】中查看或設置物件的屬性。
2.3.7 代碼視窗
【代碼視窗】由物件清單方塊、過程清單方塊、邊界標識條、代碼編輯區、過程分隔線和視圖按鈕幾部分組成,如圖2-11所示。
【代碼視窗】是編輯和顯示VBA代碼的地方,【工程資源管理器】中的每個物件都擁有自己的【代碼視窗】,如果想將VBA程式寫在某個物件裡,首先應在【工程資源管理器】中按兩下以啟動它的【代碼視窗】。反過來,如果想查看某個物件裡保存有哪些程式,也必須先在【工程資源管理器】中按兩下以啟動它的【代碼視窗】。
2.3.8 立即窗口
在【立即視窗】中直接輸入命令,回車後將顯示命令執行後的結果,如圖2-12所示。
【立即視窗】一個很重要的用途是調試代碼,相應的內容請參閱第7章7.3.4小節。
如果打開VBE視窗後,【立即視窗】(或其他視窗)沒有顯示,可以在【視圖】功能表中設置顯示它,如圖2-13所示。
圖2-13 利用視圖功能表顯示視窗
2.4 試寫一個簡單的VBA程式
運行Excel程式,新建一個工作簿,進入VBE,讓我們動手編寫一個簡單的程式,當程式運行後,用一個對話方塊說出現在的心情。
2.4.1 添加或刪除模組
因為VBA程式一般保存在模組裡,所以在編寫程式前,應先添加一個模組來保存它。
方法二:利用右鍵功能表插入模組的具體操作如圖2-15所示。
圖2-15 利用右鍵功能表插入模組
方法一:按右鍵【工程資源管理器】中的空白處,在【插入】功能表選擇要插入的物件;
方法二:按一下功能表列中的【插入】功能表,選擇要插入的物件。
方法參照2.4.1小節中插入模組的方法。
如果工程中有多餘的模組,可以刪除它。
方法一:利用檔功能表移除模組的具體操作如圖2-16所示。
方法二:利用右鍵功能表移除模組的具體操作如圖2-17所示。
2.4.2 動手編寫程式
Step 1:在代碼視窗中添加一個空過程,如圖2-18所示。
當然,你也可以在【代碼視窗】中手動錄入這些代碼。
Step 2:將下面的代碼寫到前文兩行代碼的中間,如圖2-19所示。
Step 3:運行過程,如圖2-20所示。



































0 留言:
發佈留言