- ベストアンサー
ExcelVBAの繰り返しについて
1,1,2,3,5,8,13・・をフィボナッチ数列という。 この数列の第三番目以降の数は2つ前の数と 1つ前の数の和であり、最初の10項を計算し、 excelシートに入力したいです。 第1,2項は初期値です。 このような問題があるのですが、 どのようにすればいいのかわかりません。 繰り返しを使うようなのですが・・ どなたかわかる方いらっしゃいましたらよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
Sub fibo() Const n As Integer = 10 '第n項まで(73が限界か?) Dim f(n - 1, 0) As Double Dim i As Integer f(0, 0) = 1: f(1, 0) = 1 '第1,2項 '第3~n項まで計算 For i = 2 To n - 1 f(i, 0) = f(i - 2, 0) + f(i - 1, 0) Next 'シートへ出力 Range("a1").Resize(n).Value = f End Sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
「前の数と1つ前の数の和を計算する」そのまま式を組めばよい。 エクセルVBAの問題ではないよ。 それにこういう授業課題そのものの丸投げ質問も規約違反だ。 先生に聞くのが筋だ。 また、フィボナッチ数列でWEB照会すれば、プログラムロジックなど沢山出てくるものだ。 ーーー Sub test01() n = 1 '2つ前の値 m = 1 '前の値 Cells(1, "A") = n Cells(2, "A") = m '--- For k = 3 To 10 g = m + n Cells(k, "A") = g n = m m = g Next k End Sub For k = 3 To 10の10のところを変えれば項数は増やせる。
お礼
ありがとうございました。 ちなみに、授業課題とか、そのようなものでは ありません・・・ 丁寧に教えてくださりありがとうございました。
お礼
ありがとうございました。 挑戦してみます。