VBAテクニック集 VBA一覧 デバック デバッグ・エラー処理

【VBA】イミディエイトウィンドウと Excelの活用方法

Excel VBA の開発やデバッグ作業を行う際、イミディエイト ウィンドウを活用すると、Excel のデータやシート情報を手軽に取得・操作できます。Debug.Printを使ってExcel のセルの値を確認し、直接 VBA コードを実行して Excel の動作を行うことも可能です。

この記事では、イミディエイトウィンドウを活用して Excel のデータを操作する方法と実践的な活用例を解説します。

イミディエイトウィンドウとは?

イミディエイト ウィンドウとは、VBA の開発環境(VBE)でExcel のデータを確認し、コードを手動で実行できるウィンドウです

主な用途

Debug.Printを使ってExcelのセルの値を確認
? 変数名を入力して最新値を取得
✅ 1行のVBAコードを実行しExcelを操作
✅ シート名や最終行などExcelの情報を取得

📌イミディエイトウィンドウを使うと、Excelのデータをすぐにチェックできるので、デバッグ作業が効率化!

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

イミディエイトウィンドウが表示されていない場合は、次の方法で開きます。

ショートカットキーで開く

Ctrl + G

最速でイミディエイトウィンドウを開く方法!

【VBA】イミディエイトウィンドウの出し方と活用方法

ボタンを押す

  1. Excelで「Alt + F11」キーを押してVBAエディタ(VBE)を開く
  2. 「表示」メニューをクリック
  3. 「イミディエイトウィンドウ(イミディエイトウィンドウ)」を選択

これでイミディエイトウィンドウが表示される!

イミディエイトウィンドウでExcelの情報を取得する

・セルを表示する

イミディエイト ウィンドウでアクティブなセルの値を確認できます。

【VBA】セルの値を取得・範囲指定・ユーザ選択:変数・配列

? ActiveCell.Value

最新のアクティブセルの価値をすぐに取得!

・指定セルの値を取得

? Range("A1").Value

セルA1を確認してください!

・アクティブシートの名前を取得

【VBA】アクティブシートの指定・変更・シート名取得・値参照

? ActiveSheet.Name

最新のアクティブシートの名前を表示!

・すべてのシート名を取得

For Each ws In Worksheets: Debug.Print ws.Name: Next

ブック内のすべてのシート名が一覧表示!

・ワークブックの名前を取得

? ActiveWorkbook.Name

最新のワークブックの名前を取得しました!

イミディエイトウィンドウを使ってExcelを操作する

イミディエイトウィンドウでは、VBAのコードを1行ずつ手動で実行し、Excelを操作できます。

・セルに値を入力する

Range("A1").Value = "テスト"

セル A1 に「テスト」と入力!

・セルカラーを変更する

Range("A1").Interior.Color = RGB(255, 255, 0)

セルA1の背景色を黄色に変更!

・アクティブシートの名前を変更

【VBA】アクティブシートの指定・変更・シート名取得・値参照

ActiveSheet.Name = "新しいシート"

最新のシート名を「新しいシート」に変更しました!

・ワークシートを追加

【VBA】ブックを指定してシートを追加する方法

Sheets.Add

新しいワークシートを追加!

・ワークブックを保存

【VBA】ダイアログで名前を付けて保存・同じフォルダに保存する方法

ActiveWorkbook.Save

最新のブックを保存!

Debug.Printを活用したExcelデータの出力

・シート上のデータをイミディエイトウィンドウに出力

【VBA】イミディエイトウィンドウへの出力方法と活用例

Sub ShowSheetData()

Dim ws As Worksheet
Set ws = ActiveSheet

Dim i As Integer
For i = 1 To 10

Debug.Print "A" & i & " : " & ws.Cells(i, 1).Value

Next i

End Sub

シートのA1~A10の値をイミディエイトウィンドウに出力!

・最終行を表示する

【VBA】イミディエイトウィンドウ(出力・クリア)の使い方

Sub GetLastRow()

Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
Debug.Print "最終行: " & lastRow

End Sub

シートの最終行程を表示!

・全てのシート名を出力

Sub ListAllSheets()

Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets

Debug.Print ws.Name

Next ws

End Sub

ブック内のすべてのシート名を一覧表示!

・フィルターの結果を取得

【VBA】フィルター機能【複数条件・複数列フィルター】の操作設定

Sub ShowFilteredData()

Dim cell As Range
For Each cell In Range("A1:A100").SpecialCells(xlCellTypeVisible)

Debug.Print cell.Value

Next cell

End Sub

オートフィルターで表示されているデータのみを取得!


まとめ

💡イミディエイトウィンドウでExcelを活用する方法

ショートカットキー(Ctrl + G)で開いて
Debug.Printを使って Excel の情報を取得
1 行の VBA コードを手動で実行して Excel を操作
ワークシートのデータをイミディエイト ウィンドウに出力

イミディエイトウィンドウのメリット

メリット説明
デバッグが簡単Debug.Printを使って変数やセルの値を確認できる
即時実行可能1行のVBAコードを手動で実行してExcelを操作できる
修正不要MsgBoxを使わずにデバッグできるため、コードを書き換える必要なし
Excelのデータを簡単に取得? Range("A1").Valueセルの価値を即時取得

 

-VBAテクニック集, VBA一覧, デバック, デバッグ・エラー処理