W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
如果你在Dim語句里沒有明確變量的數(shù)據(jù)類型,你最終將得到?jīng)]有歸類的變量。沒有歸類的包括,在VBA里,總是當(dāng)成Variant數(shù)據(jù)類型。高度建議你產(chǎn)生歸類了的變量。當(dāng)你聲明變量為某種數(shù)據(jù)類型,你的VBA程序會(huì)運(yùn)行得更快一些,因?yàn)閂B不需要停下來分析Variant變量到底是什么類型。
VB可以使用很多種數(shù)字變量。Integer變量只能保存從–32,768到32,767之間的所有整數(shù)。其它類型的數(shù)字變量有Long,Single,Double和Currency。Long變量可以保存從–2,147,483,648到2,147,483,647范圍的所有整數(shù)。與Integer和Long相反,Single和Double變量可以保存小數(shù)。String變量用來引用文本。當(dāng)你聲明了一個(gè)String數(shù)據(jù)類型的變量時(shí),你最好告訴VB這個(gè)字符串有多長(zhǎng),例如:
Dim extension As String * 3
聲明變量extension字符串的長(zhǎng)度為3個(gè)字符。如果你不給它分配一個(gè)明確的長(zhǎng)度,這個(gè)字符串變量將是動(dòng)態(tài)的。這意味著VB將會(huì)占用足夠大的電腦內(nèi)存來處理任意容量的文本。聲明了變量后,你只能保存聲明語句里顯示的信息類型。給數(shù)字類型的變量賦文本值,或給文本類型變量賦數(shù)字值,都會(huì)導(dǎo)致“類型不匹配”的錯(cuò)誤信息,或者導(dǎo)致VB修正該值。例如,如果你的變量聲明為保存整數(shù),而你的數(shù)據(jù)是小數(shù), 那么VB會(huì)忽略小數(shù)部分而只用數(shù)據(jù)的整數(shù)部分。試驗(yàn)一下下面的MyNumber過程,看看VB是如何修正數(shù)據(jù)以適合變量數(shù)據(jù)類型的:
Sub MyNumber()
Dim myNum As Integer
myNum = 23.11
MsgBox myNum
End Sub
如果你不用Dim語句聲明變量,你通過在變量名稱后面加上一個(gè)特殊字符同樣可以指明該變量的類型。例如下面,你可以在變量名稱后面附上美元($)符號(hào),來指明變量FirstName為字符串類型(String):
Dim FirstName$
上面的聲明和Dim FirstName As String是一樣的。其它類型的聲明字符列在表3-2里面。
表3-2 類型聲明字符
注意,類型聲明字符只能用于六種數(shù)據(jù)類型。將這些字符附在變量名稱后面就可以使用這些類型聲明字符了。過程AgeCalc2示范表3-2中類型聲明字符的使用情況:
Sub AgeCalc2()
'variable declaration (變量聲明)
Dim FullName$
DateOfBirth As Date
Dim Age%
'assign values to variables (給變量賦值)
FullName$ = "John Smith"
DateOfBirth = #01/03/1967#
'calculate age (計(jì)算年齡)
Age% = Year(Now())-Year(DateOfBirth)
'print results to the Immediate window (在立即窗口里輸出結(jié)果)
Debug.Print FullName$ & " is " & Age% & " years old."
End Sub
技巧: 聲明變量類型
變量類型可以用As后面的關(guān)鍵字來標(biāo)示,也可以用后面附加的類型符號(hào)來標(biāo)示。如果你既不加類型符號(hào)也不使用As命令,那么這個(gè)變量將為默認(rèn)的類型,那就是VBA中的Variant類型。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: