もし、問題文が質問内容の通りなら、「自分で考えて作りました!」とか言うと
ボロが必ず出る設問になっています。教えて貰った事を必ず申告しましょう
Sub fncFib()
Dim i As Integer
For i = 1 To 20
Cells(i, 1).Value = CalFIB(i)
Next i
End Sub
Function fib(n As Integer) As Long
' 戻り値
fib = 0
' 計算結果を格納する配列arrayFibを宣言する
' ただし、47回目の帰納で計算結果がLong型の上限を超える為、配列数は46とする
Dim arrayFib(46) As Long
arrayFib(1) = 1
arrayFib(2) = 1
For i = 3 To n
arrayFib(i) = arrayFib(i - 1) + arrayFib(i - 2)
Next i
' 戻り値を設定する
fib = arrayFib(n)
End Function