プロシージャ
マクロの最小実行単位。1行の命令文(ステートメント)を記述して実行されますが、通常は複数の命令文をまとめて記述、実行します。これがプロシージャです。
- プロシージャ
- Subプロシージャ・・・・一般的なプロシージャ
- Functionプロシージャ・・値を返すことができるプロシージャ
- Propertyプロシージャ・・クラスモジュールで使用するプロシージャ
プロシージャの実行
- プロシージャを実行するには、以下の方法があります。
(基本的な「Subプロシージャ」の実行方法をご紹介します。)- VBAエディタから実行
VBAエディタ上で作成したプロシージャの中にカーソルを置き、
メニューから「実行」→「Sub/UserForm実行」を選択します。
(または「F5」キーを押します)。 - Excelから実行
Excelシート上にボタンを配置し、そのボタンにプロシージャを割り当てる方法。
Excelシートの開発タブから「挿入」→「ボタン(フォームコントロール)」を選択し、シート上にボタンを配置します。
表示されるダイアログで実行したいプロシージャを選択します。
- VBAエディタから実行
ステートメント
- マクロの実行を制御する手続き、命令、宣言などのこと。
- マクロ動作の制御・・・繰り返し、条件分岐など
- 変数の宣言
- コード記述の簡素化 など
繰り返しのステートメント
- 繰り返し処理は、For~Nextと Do~Loop です。
- For~Nextは、繰り返す回数を指定
- Do~Loopは、繰り返す条件を指定
For…Next ステートメント
回数による繰り返しの命令。
→ 指定した回数(初期値から終了値まで)だけ処理を繰り返します。
For 変数名 = 初期値 To 終了値
処理
Next 変数名
Do…Loop ステートメント
条件による繰り返しの命令。
- 条件構文は前に書くか、後に書くかの 2パターンから選べる。
- 構文の前に書く場合 →パターン1と2
- 構文の後ろに書く場合 →パターン3と4
- 条件は正しい間繰り返すか、正しくない間繰り返すかの 2パターン指定できる。
- 正しい間繰り返す場合・・・・While →パターン1と3
- 正しくない間繰り返す場合・・Until →パターン2と4
■ パターン1
Do While 条件
処理
Loop
■ パターン2
Do Until 条件
処理
Loop
■ パターン3
Do
処理
Loop While 条件
■ パターン4
Do
処理
Loop Until 条件
Exitステートメント
処理を途中で終了する時に使用します。
- Exit Sub・・・・・Subプロシージャを終了
- Exit Function・・・Functionプロシージャを終了
- Exit for・・・・・For…Next、For Each…ステートメントを終了
- Exit Do・・・・・Do…Loopステートメントを終了
Select Case ステートメント
複数の条件を同時に判定する時に使用します。分岐処理!
🎵 基本:値が、条件1の場合は処理1をして、条件2の場合は処理2をする。
※ []部分:Case ELse・・その他の処理をする場合追記)
Select Case 値
Case 条件1
処理1
Case 条件2
処理2
[Case Else]
[その他の処理]
End Select
🎵 複数の条件をカンマで区切る
→指定した条件のいずれかひとつに該当する時に条件に一致したとみなされる。
Case 1,10,20
デバッグ
デバッグ(debugging)とは、ソフトウェアやプログラムに存在するバグ(エラーや不具合)を見つけ出し、修正するプロセスのことを指します。
デバッグはプログラミングにおいて非常に重要なステップであり、以下のような一連の作業が含まれます。
- バグの発見: プログラムが期待通りに動作しない場合、問題の原因となるバグを特定する必要があります。
- 原因の特定: バグの原因を突き止めるために、プログラムのコードを詳細に調査します。これには、変数の値を確認したり、特定の条件下でプログラムを実行したりすることが含まれます。
- 修正: バグの原因が特定されたら、それを修正するための変更を行います。これには、コードの修正や再設計が含まれることがあります。
- 再テスト: 修正が正しく行われたことを確認するために、プログラムを再度テストします。同じバグが再発しないか、他の新しいバグが発生していないかをチェックします。
ステップ実行
ステップ実行は、プログラムを一行ずつ実行し、各ステップでの動作を確認するためのデバッグ技法です。
実行したいプロシージャの中にカーソルを置き、F8キーを押すことで、一行づつ実行することができます。
デバッグプリント
デバッグプリント(Debug.Print)
は、VBA (Visual Basic for Applications) でデバッグを目的とした出力を行うためのメソッドです。
イミディエイトウィンドウにメッセージや変数の値を出力し、プログラムの動作を確認したり、問題をトラブルシュートしたりするのに便利です。
ショートカット
- マクロ実行 : SubからEnd Subの間で、F5キー
- リセット : Alt + R + R キー
コメント