今回は前回のブログ記事のFor Each…Next文を使ったシート検索と同様の事をFor…Next文で行いフローチャートも作図したいと思います。
For…Next文は繰り返しの回数が決まっている場合によく使われ、通常は「For i = 1 To 3」の様に数値で記述しますが、このプログラムでは「For i = 1 To Sheets.Count」にしてアクティブなブック内にあるシートの総数をループの最大値として取得するようにしています。
次のコードはFor…Next文で繰り返し処理を行い、ブック内から特定のシート名(Sheet3)と一致するか探すプログラムです。
Sub For_Nextでブック内からシート3を探す()
Dim i As Long
For i = 1 To Sheets.Count '1からアクティブなブック内にあるすべてのシートの総数まで繰り返します。
If Sheets(i).Name = "Sheet3" Then
MsgBox "シートがありました。"
Exit Sub
End If
Next i
MsgBox "シートはありません。"
End Sub
このプログラムのフローチャートを作図してみます。

For Each…Next文とFor…Next文はプログラムの流れが同じなのでフローチャートも同じになります。2つの違いは「i (カウンタ変数)」でループする処理の回数を決めているところなので、ループ開始の図形に「For i = 1 To Sheets.Count i = 1 ~ シート総数まで」と書き込んで、カウンタの初期値と最大値をわかりやすくしています。
フローチャートを作図するとプログラム全体の流れが見えるようになってプログラムを説明するときに分かりやすくなりますので、ぜひ機会があれば作成してみてはいかがでしょうか。
