第7講 Do While〜Loop文(繰り返し処理2)
第2話 Do While〜Loop文問題解答例
問題@ 10+11+12+・・・+200 の解答例
Private Sub CommandButton1_Click()
Dim wa As Integer, i As Integer
Cells(5, 1) = "10から200までの和"
wa = 0
i = 10
Do While i < 201
wa = wa + i
i = i + 1
Loop
Cells(6, 1) = wa
End Sub
解説
i = i + 1
これがないとiは10のままですから、
条件i < 201をいつまでもクリアできず、
wa = wa + iの処理が無限に繰り返されてしまいます。
このようなループになった場合、
無限ループといいます。
実行してもエクセルがうんともすんとも動かないときは、
無限ループになっている可能性があります。
そのときは、Escを押してプログラムの実行を止めて、
無限ループになっていないか確認しましょう。
プログラムではうっかりすると無限ループになってしまうことが多いですので、
無限ループにならないように注意が必要です。
問題A 5+8+11+・・・+305 の解答例
Private Sub CommandButton1_Click()
Dim wa As Integer, i As Integer
Cells(5, 1) = "5+8+11+・・・+305の答え"
wa = 0
i = 5
Do While i < 306
wa = wa + i
i = i + 3
Loop
Cells(6, 1) = wa
End Sub
問題B 2+4+6+・・・+300 の解答例
Private Sub CommandButton1_Click()
Dim wa As Integer, i As Integer
Cells(5, 1) = "2+4+6+・・・+300の答え"
wa = 0
i = 2
Do While i < 301
wa = wa + i
i = i + 2
Loop
Cells(6, 1) = wa
End Sub
問題C 6+11+16+・・・+556 の解答例
Private Sub CommandButton1_Click()
Dim wa As Integer, i As Integer
Cells(5, 1) = "6+11+16+・・・+556の答え"
wa = 0
i = 6
Do While i < 557
wa = wa + i
i = i + 5
Loop
Cells(6, 1) = wa
End Sub