Excel VBAでDebug.Print
を使ってデバッグ情報をイミディエイト ウィンドウに出力していると、出力が多くなりすぎてウィンドウが見づらくなることがあります。
そんなときは、イミディエイト ウィンドウをクリア(消去)して、問題状態にリセットすることが重要です。
この記事では、イミディエイトウィンドウをクリアする方法と、その活用例について解説します。
目次
イミディエイトウィンドウをクリアする方法
イミディエイトウィンドウをクリアする方法は手動でクリアする方法とVBAコードでクリアする方法の2つがあります。
手動でクリアする方法
ショートカットキーを使用する
イミディエイト ウィンドウがアクティブな状態で、以下のキーを押します。
Ctrl + A → Deleteキー
✅すべてのコンテンツを選択し、削除する方法!
✅手軽にクリアできるが、頻繁に使う場合は VBA コードの便利な方!
メニューからクリア
- VBAエディタ(VBE)で「Ctrl + G」を押してイミディエイトウィンドウを表示
- Windows 内のすべてのテキストを手動で選択
- 削除キーを押して削除
📌簡単な方法ですが、手動なので少し手間がかかります!
VBAコードでイミディエイトウィンドウをクリア
VBAを使ってイミディエイトウィンドウを自動的にクリアすることも可能です。
・Application.SendKeysを使う方法
Sub ClearImmediateWindow()
Application.SendKeys "^a"
Application.SendKeys "{DEL}"
End Sub
✅イミディエイトウィンドウを開き、Ctrl + A → 削除のキー操作を自動で実行!
✅手動で削除する手間が省ける!
・VBE.CommandBarsを使う方法(より確実な方法)
Sub ClearImmediateWindowVBE()
Dim vbeWindow As Object
Set vbeWindow = Application.VBE.Windows("Immediate")
vbeWindow.SetFocus
Application.SendKeys "^a", True
Application.SendKeys "{DEL}", True
End Sub
✅イミディエイトウィンドウを確実にアクティブにして、クリア!
✅Application.VBE.Windows("Immediate")
を使うことで、確実にイミディエイトウィンドウにフォーカスを当てられる!
Debug.Printを使って擬似クリア
完全にクリアするのではなく、イミディエイトウィンドウを優先するために空白行を追加する方法もあります。
空白行を大量に追加
Sub ClearImmediateWithSpaces()
Dim i As Integer
For i = 1 To 20
Debug.Print ""
Next i
End Sub
✅見づらくなったログの後に空白行を入れることで、出力内容を整理します!
境界線を追加して始める
Sub AddSeparatorLine()
Debug.Print String(50, "-")
End Sub
✅Debug.Print String(50, "-")
を使うと、50個の「-」を表示して、ログの見やすさを向上!
イミディエイトウィンドウのクリアを活用するケース
シチュエーション | 活用方法 |
---|---|
デバッグ作業中に出力が多くなり、ログが見にくい | ClearImmediateWindow でクリアしてリセット |
前回のログが残ってて、新しい結果だけ見たい | ClearImmediateWindowVBE 実行する |
コードの実行前後でログを整理したい | ClearImmediateWithSpaces を使ってログを選んで |
エラー時に重要な情報だけを確認したい | AddSeparatorLine で区切る |
まとめ
方法 | 手順 | いいね |
---|---|---|
クリア | Ctrl + A → Delete | 手軽だが、頻繁に行うと手間がかかる |
VBAでクリア | Application.SendKeys を使う | 自動でクリアでき、手動の手間を省ける |
空白行を追加 | Debug.Print "" を繰り返す | ログを整理し、考えられる |
書く | Debug.Print String(50, "-") | 前後のデータを区切り、考える |
💡イミディエイトウィンドウをクリアすることで、デバッグ作業がスムーズになります!
✅イミディエイトウィンドウをクリアすることで、VBAのデバッグがより快適に!
✅頻繁にクリアする場合はVBAコードを活用便利