Excel-macros-debugging-code
Excelマクロ-コードのデバッグ
マクロがExcelにVBAコードとして保存されることを学習しました。 また、VBAエディターでマクロを作成するコードを直接作成できることも学びました。 ただし、他のコードの場合と同様に、マクロコードにも欠陥があり、期待どおりにマクロが実行されない場合があります。
これには、コードを調べて欠陥を見つけて修正する必要があります。 ソフトウェア開発でこのアクティビティに使用される用語は、デバッグです。
VBAデバッグ
VBAエディターを使用すると、コードの実行を一時停止し、必要なデバッグタスクを実行できます。 以下は、実行できるデバッグタスクの一部です。
- コードのステップ実行
- ブレークポイントを使用する
- コードのバックアップまたは前進
- コードの各行をステップスルーしない
- コードのステップ実行中に何かを照会する
- 実行の停止
これらは、VBAのデバッグ環境で実行できるタスクのほんの一部です。
コードのステップ実行
デバッグのために最初にしなければならないことは、実行中にコードをステップ実行することです。 コードのどの部分がおそらく欠陥を引き起こしているのかがわかっている場合は、コードのその行にジャンプできます。 それ以外の場合は、コードを1行ずつ実行し、コードをバックアップまたは前方に移動できます。
ブックの[マクロ]ダイアログボックスまたはVBAエディター自体からコードにステップインできます。
ワークブックからコードにステップイン
ブックからコードにステップインするには、次のようにします-
- リボンの[表示]タブをクリックします。
- マクロをクリックします。
- ドロップダウンリストから[マクロの表示]を選択します。
[マクロ]ダイアログボックスが表示されます。
- マクロ名をクリックします。
- [ステップイン]ボタンをクリックします。
VBAエディターが開き、コードウィンドウにマクロコードが表示されます。 マクロコードの最初の行は黄色で強調表示されます。
- VBAエディターからコードにステップイン*
VBAエディターからコードにステップインするには、次のようにします-
- リボンの[開発者]タブをクリックします。
- Visual Basicをクリックします。 VBAエディターが開きます。
- マクロコードを含むモジュールをクリックします。
コードウィンドウにマクロコードが表示されます。
- リボンの[デバッグ]タブをクリックします。
- ドロップダウンリストから*ステップイン*を選択します。
マクロコードの最初の行が強調表示されます。 コードはデバッグモードであり、[デバッグ]ドロップダウンリストのオプションがアクティブになります。
コードのバックアップまたは前進
[ステップオーバー]または[ステップアウト]を選択すると、コードを前後に移動できます。
コードの各行をステップスルーしない
議論する必要があるコードの潜在的な部分を特定する場合、カーソルまで実行を選択することにより、各行コードのステップ実行を回避できます。
ブレークポイントを使用する
または、特定のコード行にブレークポイントを設定してコードを実行し、各ブレークポイントで結果を確認できます。 必要に応じて、ブレークポイントを切り替えて、すべてのブレークポイントをクリアできます。
ウォッチを使用する
デバッグ中にウォッチを追加して、式が評価され、変数が特定の値に達したときに実行を停止できます。 これは、ウォッチ式を設定することを意味します。ウォッチ式は、真になるまで監視され、その後マクロが停止し、ブレークモードのままになります。 VBAは、探しているものを達成するために、いくつかの種類の時計を提供しています。
実行の停止
デバッグ中に、いつでも、何が間違っているかについての手がかりを見つけた場合、実行を停止してさらに解読することができます。
経験豊富な開発者であれば、デバッグの用語はおなじみであり、VBAエディターのデバッグオプションを使用すると、作業が簡単になります。 それ以外の場合でも、VBAを学習してコードを理解していれば、このスキルを習得するのにそれほど時間はかかりません。