如何明確VBA變量的數(shù)據(jù)類型

2018-11-14 11:18 更新

如果你在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類型。


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)