2011-03-03 75 views
21

我是VB新手,我很難做一些應該很簡單的事情。Excel/VB函數錯誤:「需要的常量表達式」

我試圖讓N + 1米長度的數組,我不斷收到運行下面的代碼

Function binomial(n As Integer, p As Double) 
Dim probabilities(0 To n) As Double 
End Function 

我明白的參數用於構建陣列必須在「常量表達式要求」常量,但我從函數的參數創建一個?

謝謝您提前

回答

43

您不能DIM對可變大小。 REDIM它,而不是

例如

Function binomial(n As Integer, p As Double) 
Dim probabilities() As Double 
ReDim probabilities(0 To n) 
MsgBox LBound(probabilities) 
MsgBox UBound(probabilities) 
End Function 

Sub test() 
Call binomial(3, 2) 
End Sub 

運行子 「測試」

+2

謝謝你,我會迷戀着這個:) – ANd 2011-03-03 20:55:50