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

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 3月 16, 2022

VBAイミディエイトウィンドウは、VBAコードの行を素早く実行したり、コードやExcelファイルに関する情報を取得するために使用します。このツールは、コードの個々の行をテストすることができ、コードを書いているときやデバッグしているときに便利です。出力はイミディエイトウィンドウに表示されます。

イミディエイトウィンドウの表示

まず、イミディエイトウィンドウを表示する必要があります。そのためには、Alt-F11を押しながら VBE(Visual Basic Editor)を起動します。モジュールを挿入したらCtrl-Gを押すと、イミディエイトウィンドウが表示されます。

vba immediate window

コード行の実行

イミディエイトウィンドウでできることの1つに、コード行のテストがあります。次のコードは、イミディエイトウィンドウを使って、アクティブシートのセルA1を薄いオレンジ色の塗りつぶし色で塗りつぶす方法を説明するものです。以下の行を入力し、キーボードのEnterキーを押してください。

Range("A1").Interior.Color = RGB(246, 174, 134)

vba immediate exec

結果は以下のようになります。

vba immediate a1

クエスチョンマークとイミディエイトウィンドウ

イミディエイトウィンドウで、ワークブックに関する情報を取得することができます。これは、クエスチョンマークを使うことで可能です。クエスチョンマークを前にしたステートメントを入力すると、イミディエイトウィンドウは適切な答えを表示します。例えば、セルA1が選択されていて、そこに数字「5」があるとします。次のコードで、イミディエイトウィンドウを使ってこの値を取得することができます。

?ActiveCell.Value

結果は以下のようになります。

vba immediate exec print

イミディエイトウィンドウからマクロを実行する

イミディエイトウィンドウにマクロ名を入力してEnterキーを押すと、マクロを実行することができます。マクロに引数が含まれている場合は、イミディエイトウィンドウを使用し、イミディエイトウィンドウから引数をマクロに渡すことができます。以下は、イミディエイトウィンドウからCountWorksheetsという名前のマクロを呼び出すコードです。

CountWorksheets

vba immediate exec macro

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キーを押してマクロを実行した結果は、イミディエイトウィンドウに表示されます。

vba immediate debug

コード実行時にイミディエイトウィンドウを使用する

イミディエイトウィンドウを使って、コードのステップ実行中に変数の値を設定したり、取得したりすることもできます。

Sub GettingAndSettingVariableValues()

Dim LName As String
Dim SName As String
Dim Age As Integer

LName = "John"
SName = "Smith"
Age = 31

End Sub

以下のコードには、以下のようにブレークポイントが挿入されています。

 

vba immediate breakpoint

F8キーを使ってコードをステップインしながらイミディエイトウィンドウに?SNameを入力すると、ブレークポイントで次のような結果が得られます。

vba immediate break print

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! vba save as


Learn More!
vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples