【VBA】マクロ不要!イミディエイトウィンドウで一行コードを直接実行する方法

目次

はじめに

VBAで「アクティブセルの色をちょっと変えたい」「特定のプロパティの値を確認したい」といった、一度きりの簡単な操作のために、わざわざ Sub ... End Sub のマクロを作成するのは面倒ですよね。

VBE(VBAエディタ)の「イミディエイトウィンドウ」は、Debug.Print の出力先としてだけでなく、VBAコードを直接入力して、その場で実行できるという、非常に便利な機能を持っています。

この記事では、マクロを作成することなく、イミディエイトウィンドウを使って、ちょっとしたVBAステートメントを手軽に実行する方法を解説します。


イミディエイトウィンドウでコードを直接実行する方法

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

まず、VBEのメニューから「表示」→「イミディエイトウィンドウ」を選択するか、ショートカットキー Ctrl + G を押して、ウィンドウを表示させます。

2. コードの入力と実行

表示されたイミディエイトウィンドウに、実行したいVBAのコードを一行入力し、Enterキーを押します。すると、そのコードが即座に実行されます。

サンプル例

例1: セルに値を入力する イミディエイトウィンドウに以下のように入力して Enter を押すと、

Worksheets("Sheet1").Range("B2").Value = "テスト完了"

Sheet1B2 セルに “テスト完了” という文字列が入力されます。

例2: プロパティの値を確認する プロパティの値を確認したい場合は、?Debug.Printの省略形)を使います。以下のように入力して Enter を押すと、

VB.Net

? ActiveWindow.Zoom

イミディエイトウィンドウの次の行に、現在のアクティブウィンドウの表示倍率(例: 100)が出力されます。

例3: メッセージボックスを表示する

MsgBox "こんにちは!"

と入力して Enter を押せば、メッセージボックスが画面に表示されます。


どんなときに便利?

この「直接実行」機能は、以下のような場面で特に役立ちます。

  • 簡単な動作テスト: 特定のメソッドやプロパティが、現在の状況でどう動くかをサッと試したいとき。
  • プロパティの確認: ? ActiveCell.Address のように、オブジェクトの現在の状態を素早く確認したいとき。
  • 一時的な設定変更: Application.ScreenUpdating = False などを、マクロ実行前に手動で設定したいとき。
  • マクロの個別実行: Call MyMacro のように、引数のないマクロを直接呼び出すことも可能です。

まとめ

今回は、VBAのイミディエイトウィンドウを使って、一行コードを直接実行するテクニックを解説しました。

  • Ctrl + G でイミディエイトウィンドウを表示する。
  • 実行したいコードを入力し、Enterキーを押すだけでOK。
  • ? を先頭に付けると、Debug.Print と同じ意味になる。

この機能は、VBA開発における「ちょっとした試行錯誤」の時間を大幅に短縮してくれます。わざわざテスト用のマクロを作るまでもない簡単な確認作業は、イミディエイトウィンドウを電卓のように活用して、スマートにこなしましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次