事務職のためのExcelVBA入門講座 > ExcelVBAの基礎知識 > イミディエイトウィンドウの使い方

ExcelVBAの基礎知識

イミディエイトウィンドウの使い方

イミディエイトウィンドウは、変数やプロパティの値や式の結果を出力することができます。

変数などの値の確認に使われることが多いです。
イミディエイトウィンドウに出力するには、Debug.Printメソッドを使います。
Debug.Print 出力したい内容


たとえば、変数でセルを指定している時、自分が取得したいと思っているセルと実際に取得しているセルが違ってマクロがうまく動かない……といったことがあります。
そんな時はセルのアドレスをイミディエイトウィンドウに出力して、ちゃんとセルが取得できているかを調べることができます。

サンプルコード



Public Sub ImmediateWindowsTest1()
  Dim LastRow As Long
  
  With ThisWorkbook.Worksheets(1)
    LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    Debug.Print .Cells(LastRow, "A").Address
  End With
End Sub


また、コードを書かずにイミディエイトウィンドウに直接出力もできます。
イミディエイトウィンドウにカーソルを合わせ、「?出力したい内容」を書いて、Enterキーを押すと、次の行に結果が表示されます。

VBAでは文字列はダブルクォーテーション(")で囲むのですが、ダブルクォーテーション自体を出力したいときはダブルクォーテーションをダブルクォーテーションで囲む必要があります。
慣れないとダブルクォーテーションが足りずにダブルクォーテーションが出力できていなかったり、逆に多すぎて2個出力されていたりと、これが結構難しい。

そんな時も、イミディエイトウィンドウで出力できたのを確認してから、実際のコードペインにコピー&ペーストすると、うまくいきます。
ImmediateWindow01.jpg

出力したい内容には変数だけではなく、式も入れることができます。
変数のデータ型でエラーが出たときにTypeName関数で変数のデータ型を調べたり、2つのオブジェクト変数が等しいか確認するなんて事もできます。

マクロがうまく動かないときは、ステップインで1行ずつ実行しながらイミディエイトウィンドウで変数の値を確認して、OKだったらまた次の行を実行して……という風に繰り返していくことで、エラーが見つけやすくなります。

<<マクロの確認をする | 事務職のためのExcelVBA入門講座トップへ

この記事へのコメント

コメントを書く

お名前
メールアドレス
URL
コメント
[必須入力]
認証コード
[必須入力]


※画像の中の文字を半角で入力してください。

トラックバック

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

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


Powered by Seesaa
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。