2
可能是它的基本和聽起來像一個非常愚蠢的問題。但我對此感到困惑。所以,當我嘗試在雙變量中做1000 * 1000時,我得到一個溢出錯誤。如果我繼續將自變量乘以變量,那麼它工作正常。有人可以解釋一下,爲什麼?VBA中的數據類型。使用常量獲得溢出錯誤,但對變量正常工作
Sub test()
Dim x As Double
x = 1000 * 1000 ' ~~>> Give OverFlow Error. WHY ?
x=1000
x = x * x * x * x ' ~~>> Works Fine
MsgBox x
End Sub
VBA確實隱含了很多事情,而不詢問用戶。這使得該語言非常易於學習和使用。同時,在這種情況下,它可能會使事情變得有點複雜。數字1000未被聲明,因此VBA會自動將其視爲整數:「Debug.Print VarType(1000)」。要將數字「聲明」爲「double」,只需將'#'添加到最後:'x = 1000#* 1000' https://msdn.microsoft.com/zh-cn/library/office/gg264155%28v=office 0.15%29.aspx – Ralph