1. ホーム
  2. excel

[解決済み] Excel/VB関数でエラーになる。"定数式が必要です"

2022-02-09 22:23:34

質問

私はVB初心者なのですが、とても簡単なはずのことに苦労しています。

長さn+1の配列を作成しようとしているのですが、以下のコードを実行すると、"Constant expression required"と表示され続けます。

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

配列を作るための引数は定数でなければならないとのことですが、関数の引数から作ればいいのでしょうか?

よろしくお願いします。

解決方法は?

可変サイズに対して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

test"を実行します。