2008-11-04 104 views
10

一個常量時,該聲明引起VBA溢出:溢出計算VBA

Const OVERFLOWS As Long = 10 * 60 * 60 

而直接設置值是罰款:

Const COMPILES_OK As Long = 36000 

你如何說服VBA對待字面整數作爲多頭?

感謝

回答

14

添加long後綴&到至少一個數字:

Const OVERFLOWS As Long = 10& * 60 * 60 

注意使用CLNG函數的值轉換爲long將無法​​正常工作,因爲VBA不允許分配函數返回一個常量。

+0

謝謝。今天之前我從來沒有用過。你生活和學習.. – 2008-11-04 11:54:21

3

類型字符也可以附加到文字上:Const OVERFLOWS As Long =(10 & * 60 * 60) (實際上因爲VBA引擎評估表達式的緣故,其中一個是足夠的)。

4

對於那些誰找到&符號有點深奧,另一種是使用一個數字轉換爲長

Const OVERFLOWS As Long = CLNG(10) * 60 * 60 

的CLNG功能,那麼你可以做類似的事情了單不斷

Const OVERFLOWS As Single = CSNG(10) * 60 * 60