金曜日, 3月 17, 2023

Excel VBA 06 
エラー対策とデバッグ処理

少し前後してしまいましたが、エラー対策とデバッグ処理について整理しました。

まず、VBAを1つだけ記述したのであれば問題はありません。Excelデータを保存する際は[.xlsx]ではなく「マクロ有効ブック」の[.xlsm]で保存することは忘れないようにします。[.xlsx]で保存するとマクロの記述は消えてしまいます。

さて1つめのExcelファイルに複数のVBAを記述する場合、最初のVBAに続けて記述、または他のエディターで記述したソースをコピー&ペーストすれば自動的に区切り線が追加されます。たVBAモードではSubとEnd Subで1区切りとして認識します。
--------------------
Sub name()
・・・
・・・
End Sub
--------------------
ただし,シングルクオート「'」で始まるコメント文が最後に入っていると区切り線が狂うので・・・
最後のEnd Subにコメントを入れたい場合は同じ行に記述した方が良いです。

ここでソースの一部をタイプミスさせて実行すると・・・

エラーが表示あれます。

園が合い、修正箇所を直し、「デザインモードの終了」のアイコンをクリックしてからいつものようにVBA編集画面を閉じればデバッグ完了です。

なお、VBA編集画面の[ツール]>[オプション]にて・・・

エラーとラップを上の様に設定しておくと良いでしょう。

なお、メニューでデバッグを行う場合は、ショートカットをかつようして以下の違いで処理を分けると便利です。

【ステップイン】
1行ずつ処理を進め、それが自作の関数なら関数の中に移動。

【ステップオーバー】
1行ずつ処理を進め、それが自作の関数ならその関数の処理をすべて実行。

【ステップアウト】
今実行している関数を抜けるまで処理を進める。