制御構造(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プロシージャ(手続き/関数)
クラスの作成と使い方
ファイルの操作
エラートラップ
基本のまとめ(上級者用)
エクセル講座のクイックリンク
関連記事
この記事を書いた人
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
プチモンテ代表、アーティスト名:プチモンテ | |
🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~ |
オリジナル曲を始めました✨
YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte