制御構造(If/For/Select/While/Do)[ExcelのVBA]
制御構造とはプログラムの実行の流れを分岐させたり同じ処理を繰り返しするなどの命令を定義するものです。Visual Basicの条件分岐には「If/Selectステートメント」、繰り返しは「For/While/Doステートメント」があります。
Ifステートメント
Ifステートメントの書式は次の通りです。
If (論理式) then
論理式が真の時の処理を記述
[ElseIf (論理式) then]
[論理式が真の時の処理を記述]
[Else]
[論理式が偽の時の処理を記述]
End if
※[]は省略する事が出来ます。
Ifの使用例1
Ifの使用例2
Ifの使用例3
Forステートメント
Forステートメントの書式は次の通りです。
For 変数 = 初期値 To 終了値
処理を記述
Next
Forステートメントは繰り返し処理です。最初に「変数 = 初期値」と初期値が変数に代入されます。処理を繰り返す度に「変数 = 変数+1」と加算されます。そして、変数の値が終了値より大きくなると繰り返し処理を終了します。
Forの使用例1
Forの使用例2
Forステートメント内で「Exit For」を記述するとForの繰り返し処理を抜ける事が出来ます。
Forの使用例3
「変数 = 変数+1」の加算値である「+1」を変更する場合は「Step 加算値」と記述します。
次のコードは「変数 = 変数+2」の例です。
Selectステートメント
Selectステートメントの書式は次の通りです。
Select Case 変数
Case 値
処理を記述
[Case 値]
[処理を記述]
[Case Else]
[処理を記述]
End Select
Selectステートメントは変数の値によって処理を分岐する分岐処理となります。Ifステートメントと似たような機能です。
Selectの使用例
Whileステートメント
Whileステートメントの書式は次の通りです。
While (論理式)
処理を記述
Wend
Whileステートメントは論理式がTrue(真)の場合は繰り返し処理を継続します。無限ループ(永久継続)にならない様に注意して下さい。
Whileの使用例
Doステートメント
Doステートメントの書式は二種類あります。
Do
処理を記述
Loop While (論理式)
<Do While ... Loopの書式>
Do While (論理式)
処理を記述
Loop
Doステートメントは論理式がTrue(真)の場合は繰り返し処理を継続します。無限ループ(永久継続)にならない様に注意して下さい。
※「Do ... Loop While」の場合は必ず一度は「処理」が実行されます。
Doの使用例1(Do ... Loop While)
Doの使用例2(Do While ... Loop)
Visual Basicの基礎
変数/定数/リテラル/データ型/有効範囲
配列/動的配列/構造体/列挙型/エスケープシーケンス
算術演算子/比較演算子/データの型変換
制御構造(If/For/Select/While/Do)
Sub/Functionプロシージャ(手続き/関数)
クラスの作成と使い方
ファイルの操作
エラートラップ
基本のまとめ(上級者用)