當(dāng)你的程序運(yùn)行,變量的內(nèi)容是可以變化的,如果你想要一次又一次地引用不變的值,那么你應(yīng)該使用常量。常量就像一個(gè)指定的變量一樣,總是引用這個(gè)相同的值。VB要求你在使用前要聲明常量。正如下述例子,使用Const語(yǔ)句來(lái)聲明常量:
Const dialogName = "Enter Data" As String
Const slsTax = 8.5
Const ColorIdx = 3
常量,像變量一樣擁有范圍。要讓常量?jī)H在一個(gè)過(guò)程里可用,將它聲明為過(guò)程級(jí)別即可,例如:
Sub WedAnniv( )
Const Age As Integer = 25
<place procedure instructions here>
End Sub
如果你想要某個(gè)常量在一個(gè)模塊的所有過(guò)程中都可用,則在Const語(yǔ)句前加上關(guān)鍵字Private就可以了
(寫(xiě)在所有過(guò)程之上),例如:
Private Const dsk = "B:" As String
私有常量必須在模塊的上面,第一個(gè)Sub語(yǔ)句之上聲明。如果你要?jiǎng)?chuàng)建一個(gè)該工作簿所有模塊都可用的常量時(shí),在Const語(yǔ)句之前加上Public關(guān)鍵字就可以了,例如:
Public Const NumOfChar = 255 As Integer
公共常量必須在模塊的上面,第一個(gè)Sub語(yǔ)句之上聲明。聲明常量的時(shí)候,你可以使用下列數(shù)據(jù)類(lèi)型之一Boolean,Byte,Integer,Long,Currency,Single,Double,Date,String或者Variant。
像變量一樣,多個(gè)常量也可以在一行里聲明,例如:
Const Age As Integer = 25, City As String = "Denver", PayCheck As Currency = 350
使用常量可以使你的VBA過(guò)程可讀性強(qiáng),容易維護(hù)。例如,你在程序里多次引用某個(gè)特定值,就可以使用常量,而不是這個(gè)值本身。這樣,如果以后這個(gè)值變了(例如銷(xiāo)售稅率上升了),你只要簡(jiǎn)單地在Const語(yǔ)句里改變這個(gè)常量的聲明就可以了,而不必追蹤該值所有發(fā)生的地方。
內(nèi)置常量
Excel和VBA都有一長(zhǎng)列的預(yù)先定義的常量,并且不需要聲明,這些內(nèi)置常量可以通過(guò)對(duì)象瀏覽器查找,我們已經(jīng)在第二章里詳細(xì)討論了對(duì)象瀏覽器。我們來(lái)打開(kāi)對(duì)象瀏覽器并查找Excel常量清單:
1. 在VB編輯器窗口,選擇“視圖”-“對(duì)象瀏覽器”
2. 在“工程/庫(kù)”下拉列表里選擇Excel
3. 在搜索文本框里輸入“Constants”并回車(chē),VB顯示搜索結(jié)果在“搜索結(jié)果”區(qū)域
4. 在“類(lèi)”列表框拉下滾動(dòng)條,選擇“Constants”(參見(jiàn)圖3-3)。對(duì)象瀏覽器右邊區(qū)域顯示所有Excel對(duì)象庫(kù)里可用的內(nèi)置常量。注意,所有常量的名稱(chēng)以前綴“xl”開(kāi)頭。
圖3-3 使用對(duì)象瀏覽器查找內(nèi)置常量
5. 要查找VBA常量,在工程/庫(kù)文本框里輸入VBA。注意,所有VBA的內(nèi)置常量以前綴“vb”開(kāi)頭.學(xué)習(xí)內(nèi)置常量的最好方法是使用宏錄制器,我們來(lái)花上幾分鐘來(lái)錄制最小化當(dāng)前窗口的過(guò)程:
1. 在Excel窗口,選擇“工具”-“宏”—“錄制新宏”
2. 輸入MiniWindow作為宏名,選擇“當(dāng)前工作簿”作為保存宏的地方,然后確定
3. 點(diǎn)擊最小化按鈕,確保你最小化了本文件的窗口,而不是Excel應(yīng)用程序窗口
4. 點(diǎn)擊“停止錄制”按鈕
5.最大化該被最小化了的窗口
6.切換到VB編輯器窗口,并且雙擊模塊文件夾。代碼顯示如下:
Sub MiniWindow( )
ActiveWindow.WindowState = xlMinimized
End Sub
你有時(shí)可能會(huì)看到VBA過(guò)程使用數(shù)值,而不是內(nèi)置常量名稱(chēng),例如,常量xlMaximized的實(shí)際數(shù)值是-4137,常量xlMinimized的值是-4140,以及常量xlNormal的值為-4143(參見(jiàn)圖3-4)
圖3-4 你可以在對(duì)象瀏覽器里面選擇常量名稱(chēng)然后在下面的窗口里看到它的實(shí)際值
接下來(lái)······
本章介紹了幾個(gè)VBA概念,包括數(shù)據(jù)類(lèi)型,變量和常量。你學(xué)習(xí)了如何聲明各種變量,也看到變量和常量之間的區(qū)別。既然你知道什么是變量,也知道如何使用它們,你就可以創(chuàng)建使用比前兩章更有意義的方法操作數(shù)據(jù)的過(guò)程了。在下一章中,你將通過(guò)使用帶有自變量和函數(shù)的過(guò)程來(lái)擴(kuò)展你的VBA知識(shí),另外,你還將學(xué)習(xí)函數(shù),讓你的VBA過(guò)程與用戶進(jìn)行交流。
更多建議: