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