目次:
- ブロックコメントの適用
- 複数行のコードのコピー
- モジュールとプロシージャ間のジャンプ
- 関数へのテレポーテーション
- 正しい手順に従う
- コードをステップ実行する
- 特定のコード行へのステップ
- 定義済みのポイントでのコードの停止
- 開始および終了変数値の表示
- 自動構文チェックをオフにする
ビデオ: VBAのクラスモジュールは難しくない 第1回【毎日エクセルVBA】 2024
Visual Basic Editorでマクロを使用して時間を費やそうとするなら、あなたの仕事を楽にするビルトインツールは?これらのヒントは、マクロプログラミングの経験を大幅に向上させます。
ブロックコメントの適用
コードの行の前にアポストロフィを1つ配置すると、Excelにその行のコードをスキップするよう指示されます。この手法はコードのコメントアウトと呼ばれています。ほとんどのプログラマーは、ここに示すように、単一のアポストロフィーを使用してコード内にコメントまたは注釈を作成します。
<! - 1 - > 任意の行の前に1つのアポストロフィを付けると、その行がコメントに変わります。複数行のコードをコメントアウトすると便利なことがあります。こうすることで、特定の行のコードをテストし、Excelにコメント行を無視するように指示できます。
一度に1行ずつコメントアウトするのではなく、編集ツールバーを使用してコードブロック全体をコメントアウトすることができます。
<! - 2 - >編集ツールバーをアクティブにするには、VBEメニューから[表示]→[ツールバー]→[編集]を選択します。コメントアウトしたいコード行を選択して、ここに示すように、編集ツールバーのコメントブロックアイコンをクリックします。
編集ツールバーを使用して、コードブロックにコメントを適用します。複数行のコードのコピー
<! - 3 - >必要な行を強調表示し、Ctrlキーを押しながらブロックをドラッグして、ブロック全体をコピーすることができます。この古いWindowsのトリックは、モジュールをドラッグしても機能します。
ここに示すように、カーソルの横にプラス記号が表示されているときにコピーをドラッグしていることがわかります。
Ctrlキーを押しながらドラッグしてコピーを作成します。モジュールとプロシージャ間のジャンプ
マクロコードのキャッシュが大きくなり始めると、モジュールとプロシージャ間を素早く移動することができます。いくつかのホットキーを使用して痛みを和らげることができます。
-
Ctrl + Tab を押すと、モジュール間を素早く移動できます。
-
Ctrl + Page Up および Ctrl + Page Down を押して、モジュール内のプロシージャ間を移動します。
関数へのテレポーテーション
マクロを見直すときに、他のコードを明示的に指している変数または関数名が出現することがあります。その関数または変数名がどこにあるかを見つけるためにすべてのモジュールを調べるのではなく、その関数または変数名にカーソルを置き、Shift + F2を押すだけです。
この図が示すように、その関数または変数名の起点に瞬時に移動します。 Ctrl + Shift + F2を押すと、開始した場所に戻ります。
使用する関数または変数名でShift + F2を押します。正しい手順に従う
モジュールに複数のプロシージャが含まれていると、誤って別のプロシージャにスクロールせずに特定のプロシージャをスクロールするのは難しい場合があります。あなたはしばしば、上下にスクロールして正しいコードに戻ろうとします。
このナンセンスを避けるには、ここに示すように、VBEの左下隅にある[プロシージャの表示]ボタンをクリックします。そうすることで、スクロールが現在のプロシージャだけに制限されます。
アクティブなプロシージャへのスクロールを制限します。コードをステップ実行する
コードをステップ実行するには、マクロをデバッグモードにする必要があります。単にマクロのどこにでもカーソルを置き、F8キーを押します。
プログラミングでは、 デバッグ という用語は、コードのエラーの可能性を見つけて修正することを意味します。より有用なデバッグツールの1つは、一度に1行ずつコードをステップ実行する機能です。コードをステップ実行すると、各行が実行されるのを監視しています。
コードの最初の行が強調表示され、ここに示すように、コードウィンドウの左余白に小さな矢印が表示されます。強調表示されたコード行を実行し、次の行に移動するには、もう一度F8キーを押します。マクロの最後まで各行が実行されるのを見るには、F8キーを押し続けます。
F8キーを押してマクロの各行を実行します。デバッグモードを終了するには、VBEメニューに移動し、デバッグ→ステップアウトを選択します。
特定のコード行へのステップ
特定の行でコードをステップ実行し始める場合はどうすればよいですか?まあ、単に矢印を動かすだけでそれをすることができます!
デバッグモードでコード行をハイライト表示しているときは、コードウィンドウの左余白の矢印をクリックして上または下にドラッグし、次に実行するコード行にドラッグします。
コードをステップ実行しながら矢印をドラッグします。定義済みのポイントでのコードの停止
ブレークポイントを設定すると、コードは通常どおりに実行され、ブレークポイントとして定義したコード行で停止します。
このデバッグ手法は、一度に小さなコードブロックのテストを実行する場合に便利です。たとえば、マクロにエラーがありますが、マクロの大半が問題なく実行されていることがわかっている場合は、疑わしいコード行からブレークポイントを設定してから、マクロを実行します。マクロがブレークポイントに達すると、実行が停止します。この時点で、キーボードのF8キーを押して、一度に1行ずつマクロが実行されるのを確認できます。
コードにブレークポイントを設定するには、ブレークポイントを開始する位置にカーソルを置き、キーボードのF9キーを押します。 VBAは、コードウィンドウの左マージンに点でブレークポイントを明示し、コード行自体は茶色の茶色になります。
ブレークポイントにはドットと影付きのテキストが表示されます。マクロがブレークポイントに達すると、効果的にデバッグモードに入ります。デバッグモードを終了するには、VBEメニューからDebug→Step Outを選択します。
開始および終了変数値の表示
デバッグモードでVBAのStringまたはInteger変数にカーソルを合わせると、その変数の値がツールチップに表示されます。この機能を使用すると、渡されたり戻ったりする値を見ることができます。これは、コードをデバッグするときに便利です。
ただし、ツールチップは77文字(変数名を含む)しか保持できないので、変数の値が長すぎると切り詰められます。最初の77文字を超えて表示するには、Ctrlキーを押したままホバーします。
デバッグモードで変数にカーソルを置いたときのツールチップの表示例を次に示します。
可変長のツールチップの先頭と末尾の文字。自動構文チェックをオフにする
あるコードで作業している間に、何かをコピーするために別の行に移動する必要があることがよくあります。あなたはラインで終わっていません。あなたはちょっとだけそれを残す必要があります。しかし、VBEはすぐにあなたのトラックであなたを停止させ、エラーメッセージを表示します。これはあなたが既に知っていることを警告します。
未完成のコード行は、エラーメッセージを表示します。これらのメッセージボックスは、[OK]ボタンを押してエラーを確認するためにやっていることをやめさせます。これらの突然のメッセージボックスの半日後、あなたは壁にコンピュータを投げる準備が整います。
さて、自動構文チェックをオフにすることで、コンピュータとあなたの正気を保存することができます。 VBEメニューに移動し、ツール→オプションを選択します。 [オプション]ダイアログボックスが表示され、[エディタ]タブが表示されます。これらの迷惑なエラーメッセージを止めるには、Auto Syntax Checkオプションの選択を解除します。
コーディング中に警告メッセージを防止します。合法的な間違いがないことを心配しないでください。何か間違っていることを視覚的に示すために、コードがまだ赤色に変わります。