VBA42_実行中に変数の値を確認する方法

こんにちは! Benです。プログラムが正常に動かない不具合のもとをバグと呼び、それを取り除くことをデバッグと言います。前回は配列変数の値を確認するためにわざわざメッセージボックスを出す命令を書いていましたが実際のデバッグ作業ではあまりしません。今日はが普段行っているデバッグ作業、まずはウォッチ式による変数の値の確認方法をノートします。

20160417a.png
まずは画面の構成の確認です。今回使うのは右下のウォッチウィンドウです。イミディエイトウィンドウは次回ノートします。

20160416b.png

Sub DataRead()
  Dim T(10) As Single, i As Integer
  For i = 1 To 10
    T(i) = Cells(i + 1, 2)
  Next
End Sub
データとそれを取り込むコードは前回とほぼ同じです。前回使用した確認のメッセージボックスの行は削除しています。

20160417b.png
まずはコードの中でブレークポイントというプログラムの実行を一時停止させるポイントを設定します。ご覧の左側枠外をクリックするか、カーソルを置いてF9ボタンを押せば設定/解除ができます。今回はコードが短いので値の確認場所は最後くらいしかありませんが、長いコードでは一連の作業単位でブレークポイントを指定して確認します。

20160417c.png
実行してみました。すると、ブレークポイントを設定した最後の行が黄色くなって、プログラムの実行が一時停止しています。この状態でマウスカーソルを変数の上に持って行くと現在の値を表示してくれます。ループ用変数のiなどはこの方法で簡単に見ることができますが、配列変数を一望するには変数の上で右クリックしてウィッチ式の追加をクリックします。

20160417d.png
ご覧のように式にTとなっているのを確認してOKをクリックします。

20160417e.png
するとウォッチウィンドウに表示されるので、変数名の左の+をクリックして展開すればすべての要素番号の値を見ることができます。今回は0は未使用ですが、1から10まで全て問題なく取り込まれているのが一望できます。ちなみに、配列を0からでなく1から始めたいときはモジュールの冒頭にOption Base 1を加えるとできます。実行再開は実行ボタン、中止するときはその二つ右の四角ボタンです。大事なデータを随時監視するのにウォッチ式は便利ですが、一方で、式の登録までしなくてもちょっとした値の設定や確認を手軽にしたいときもあります。それを次回ノートします。

この記事へのコメント


この記事へのトラックバック