VBA Debug.Printとイミディエイトウィンドウ
In this Article
VBAイミディエイトウィンドウは、VBAコードの行を素早く実行したり、コードやExcelファイルに関する情報を取得するために使用します。このツールは、コードの個々の行をテストすることができ、コードを書いているときやデバッグしているときに便利です。出力はイミディエイトウィンドウに表示されます。
イミディエイトウィンドウの表示
まず、イミディエイトウィンドウを表示する必要があります。そのためには、Alt-F11を押しながら VBE(Visual Basic Editor)を起動します。モジュールを挿入したらCtrl-Gを押すと、イミディエイトウィンドウが表示されます。
コード行の実行
イミディエイトウィンドウでできることの1つに、コード行のテストがあります。次のコードは、イミディエイトウィンドウを使って、アクティブシートのセルA1を薄いオレンジ色の塗りつぶし色で塗りつぶす方法を説明するものです。以下の行を入力し、キーボードのEnterキーを押してください。
Range("A1").Interior.Color = RGB(246, 174, 134)
結果は以下のようになります。
クエスチョンマークとイミディエイトウィンドウ
イミディエイトウィンドウで、ワークブックに関する情報を取得することができます。これは、クエスチョンマークを使うことで可能です。クエスチョンマークを前にしたステートメントを入力すると、イミディエイトウィンドウは適切な答えを表示します。例えば、セルA1が選択されていて、そこに数字「5」があるとします。次のコードで、イミディエイトウィンドウを使ってこの値を取得することができます。
?ActiveCell.Value
結果は以下のようになります。
イミディエイトウィンドウからマクロを実行する
イミディエイトウィンドウにマクロ名を入力してEnterキーを押すと、マクロを実行することができます。マクロに引数が含まれている場合は、イミディエイトウィンドウを使用し、イミディエイトウィンドウから引数をマクロに渡すことができます。以下は、イミディエイトウィンドウからCountWorksheetsという名前のマクロを呼び出すコードです。
CountWorksheets
Enterキーを押すと、ワークシートのセルA1に結果が表示されます。
Debug.Printの使用
SubプロシージャでDebug.Printを使用すると、イミディエイトウィンドウに特定の情報を表示することができます。これは、ワークブック自体のセルやメッセージボックスに値や結果を表示したくない場合に使用します。以下のコードは、SubプロシージャでDebug.Print文を使用し、イミディエイトウィンドウに結果を表示します。
Sub UsingDebugPrint()
Dim FirstName As String
Dim LastName As String
FirstName = "Jane"
LastName = "Williams"
Debug.Print FirstName & " " & LastName
End Sub
F5キーを押してマクロを実行した結果は、イミディエイトウィンドウに表示されます。
コード実行時にイミディエイトウィンドウを使用する
イミディエイトウィンドウを使って、コードのステップ実行中に変数の値を設定したり、取得したりすることもできます。
Sub GettingAndSettingVariableValues()
Dim LName As String
Dim SName As String
Dim Age As Integer
LName = "John"
SName = "Smith"
Age = 31
End Sub
以下のコードには、以下のようにブレークポイントが挿入されています。
F8キーを使ってコードをステップインしながらイミディエイトウィンドウに?SNameを入力すると、ブレークポイントで次のような結果が得られます。
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!