第9講 社員が自分に命令することを繰り返す(プロシージャの再帰的使用)
第6話 社員が自分に命令を繰り返すことによる階乗の計算

シート
visual
プログラムの文章
Private Sub CommandButton1_Click()
  Dim a As Integer, b As Integer, c As Integer
  a = Cells(5, 2)
  Cells(6, 1) = f(a)
End Sub
Private Sub CommandButton2_Click()
  Rows("6:200").Select
  Selection.ClearContents
  Cells(5, 2).Select
  Selection.ClearContents
  Cells(1, 1).Select
End Sub
Function f(a As Integer)
  If a - 1 >= 0 Then f = a * f(a - 1) Else f = 1
End Function
実行結果
basic

では次の課題です。
前に作った等差数列の和を改良して、
初項から真っ向までの積を求めるマクロを組んでください。
vba
初項・末項・交差を入力して実行ボタンを押すと、
入門
等差数列の和が求められるマクロ解答例
Private Sub CommandButton1_Click()
  Dim a As Integer, b As Integer, c As Integer
  a = Cells(5, 2)
  b = Cells(5, 4)
  c = Cells(5, 6)
  Cells(6, 1) = "等差数列の和"
  Cells(7, 1) = f(a, b, c)
End Sub
Private Sub CommandButton2_Click()
  Rows("6:200").Select
  Selection.ClearContents
  Cells(5, 2).Select
  Selection.ClearContents
  Cells(5, 4).Select
  Selection.ClearContents
  Cells(5, 6).Select
  Selection.ClearContents
  Cells(1, 1).Select
End Sub
Function f(a As Integer, b As Integer, c As Integer)
  If b - c >= a Then f = b + f(a, b - c, c) Else f = a
End Function



第5話へ 第7話へ

トップ

vc++講義へ

初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義へ
VB講義基礎へ
初心者のためのJava 入門 基礎から応用まで
数学研究室に戻る