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)の値を変えることで、異なった合計値を得ることができます。