For~Next文により、初期値から最終値までの繰り返し処理を行うことができます。
カウンタNは初期値から最終値まで繰り返しの間1つずつ加算されます。
この繰り返し処理を使って1から100までの加算を行ってみます。
Sub Sample1()
Dim n As Integer 'カウンタ
Dim intTotal As Integer '合計値
Dim intMin As Integer '最小値(初期値)
Dim intMax As Integer '最大値(最終値)
intMin = 1
intMax = 100
'繰り返し処理
For n = intMin To intMax
intTotal = intTotal + n
Next
'合計をメッセージボックスに表示
MsgBox intMin & "から" & intMax & "までの合計:" & intTotal, vbOKOnly, "計算結果"
End Sub
このプロシージャを実行することにより
「1から100までの合計:5050」
というメッセージが表示されます。
ドイツの数学者ガウスは、小学生のとき先生に、1から100までの数の合計を出すという問題が出されたとき即座に5050という回答をして先生を驚かせた逸話があります。1+100⁼101、2+99⁼101・・・、つまり101×50という方法で計算したそうですが、今回はVBAの繰り返し処理を学ぶために1から順番に加算していきました。
初期値(intMin)と最終値(intMax)の値を変えることで、異なった合計値を得ることができます。