• ベストアンサー

ExcelVBAの繰り返しについて 

1,1,2,3,5,8,13・・をフィボナッチ数列という。 この数列の第三番目以降の数は2つ前の数と 1つ前の数の和であり、最初の10項を計算し、 excelシートに入力したいです。 第1,2項は初期値です。 このような問題があるのですが、 どのようにすればいいのかわかりません。 繰り返しを使うようなのですが・・ どなたかわかる方いらっしゃいましたらよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#262398
noname#262398
回答No.1

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

hitop415
質問者

お礼

ありがとうございました。 挑戦してみます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

「前の数と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のところを変えれば項数は増やせる。

hitop415
質問者

お礼

ありがとうございました。 ちなみに、授業課題とか、そのようなものでは ありません・・・ 丁寧に教えてくださりありがとうございました。

関連するQ&A