Excel VBAデバッグの使い方:イミディエイトウィンドウとDebug.Printの使い方について

VBAにあるイミディエイトウィンドウを使用して、さまざまな演算をテストし、デバッグメッセージを出力して、テストしながら、開発者がプログラムのエラーを検出できるようにします。

エラー

通常、より複雑なプログラムを作成する場合は、一回に短い段落を作成し、各段落の実行結果が正しいかどうかをテストします。作成された短いコードの実行結果が正しい場合は、コードの編集を続きます。このやり方のメリットは、すべてのコードを編集した後、エラーはどこにあるか分からないことを回避できます。

いくつかの計算結果を表示したい場合は、直感的にMsgBoxなどのツールを使用して計算結果を表示しますが、大量のデータを出力したい場合(たとえば、Forループでデータを表示する場合)、データを表示するたびに、MsgBoxメッセージウィンドウの[OK]ボタンをクリックする必要があります。これは非常に非効率的のため、どのように解決しますか?

Dim i, s As Integer
s = 0
For i = 1 To 10
s = s + i
' 計算結果を確認します。(OKボタンを10回クリックする必要があります)
MsgBox "s = " & s
Next i

解決方法

大量のデータを表示したい場合は、VBAにあるイミディエイトウィンドウと組み合わせてDebug.Printメソッドを使用すると、プログラム開発者は大量の情報やデータを一目ですばやく出力できます。すごく便利な機能です。

Debug.Printとイミディエイトウィンドウ

Step 1

VBAでは、[表示]タブの[イミディエイトウィンドウ]をクリックするか、Ctrl + Gショートカットキーを直接押すか、どちらも使用できます。

イミディエイトウィンドウを開きます

Step 2

イミディエイトウィンドウを開くと、デフォルトでコード画面の下に表示されます。

イミディエイトウィンドウ

Step 3

メッセージの出力方法を変更し、元のMsgBoxがメッセージを出力するところにDebug.Printを使用します。

'イミディエイトウィンドウを出力します
Debug.Print "s ="&s

Debug.Printメソッドは、デバッグメッセージを出力することであり、この方法で出力されたデータは、イミディエイトウィンドウに直接表示されます。

デバッグメッセージを出力します

Step 4

変更したVBAマクロプログラムを実行すると、イミディエイトウィンドウにDebug.Printで出力されたメッセージが表示されます。

実行の結果

Debug.Printを使用してメッセージを出力すると、Debug.Printが呼び出されるたびに、イミディエイトウィンドウに一連のメッセージが自動的に出力されます。開発者はすべてのデバッグメッセージを一回に確認できるため、エラーのあるところは簡単に見つけます。

検討

イミディエイトウィンドウでは、Debug.Printの出力情報を表示できるだけでなく、プログラム開発者の臨時コンピューターとしても使用できます。

イミディエイトウィンドウでさまざまな臨時計算を実行するには、最初に疑問符[?]を入力してから演算式を入力します。たとえば、100/3を計算する場合は、次のように入力します。

?100/3

次には、Enterキーを押して計算結果を取得します。

通常の操作以外、さまざまなVBAコードをこの方法で実行できます。たとえば、Excelワークブックのワークシートの数を取得するには、次のように入力します。

?Worksheets.count

イミディエイトウィンドウにコードを入力すると、補完機能も利用できるため、特定のプロパティや関数名をわざわざ覚える必要がありません。

補完機能

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です