在VB過(guò)程里使用常量的方法

2021-05-27 16:59 更新

當(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)頭。

查找內(nè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)

對(duì)象瀏覽器
圖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)行交流。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)