VBA入門
VBEの使い方:ショートカットキーとコード編集

VBAの開発環境であるVBEの基本的な使い方
公開日:2019-10-01 最終更新日:2021-10-08

VBEの使い方:ショートカットキーとコード編集


VBE(Visual Basic Editor)は、VBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境です。


ここではVBEのコード編集における、特に重要なショートカットキーと具体的な使い方について説明します。

VBEショートカット一覧

以下は、VBAコード編集に関するショートカットキーの中から、
VBE独特のものや重要なもの、注意が必要なものを抜粋しました。
※Ctrl+C等のWindows共通のショートカットキーや、使用頻度の低いものは省略しています。

ショートカット キー 説明
Ctrl + Space 入力候補
Tab インデント
Shift + Tab インデントを戻す
Ctrl + ↓ 次のプロシージャ
Ctrl + ↑ 前のプロシージャ
Shift + F2 定義の表示
Ctrl + Shift + F2 直前の場所に戻る
Ctrl + Z 元に戻す
Ctrl + Y 現在行の切り取り※やり直しではない
Ctrl + F 検索
Ctrl + H 置換
F3 次を検索
Shift + F3 前を検索

VBEの全てのショートカット一覧はこちらを参照してください。
・VBEの使い方について ・VBE キーボード ショートカット ・VBE メニュー ショートカット


ショートカットキーの具体的な使い方

Ctrl + Space 入力候補
Application、ThisWorkbook、ActiveWorkbook、等々
このような長い単語を全てタイピングするのは結構大変だと思います。
このような場合は、ぜひCtrl+Spaceを使ってください。

いきなりCtrl+Spaceで全候補を表示してから頭文字から入力していく方法と、
頭文字の何文字かを入力してからCtrl+Spaceする方法のどちらでも良いでしょう。

VBA VBE ショートカット

VBA VBE ショートカット

Tab インデント
Shift + Tab インデントを戻す
VBAのブロック構文内は必ずインデント(字下げ)してください。
ブロック構文とは、
Sub ~ End Sub
Function ~ End Function
If ~ EndIf
Select Case ~ End Select
For ~ Next
Do ~ Loop
With ~ End With

VBA VBE ショートカット


複数行をまとめてインデントまたはインデントを戻せます。
VBA VBE ショートカット

※1行内の文字列を選択した状態での「Tab」は、選択文字を消去してしまいます。

Ctrl + ↓:次のプロシージャ
Ctrl + ↑:前のプロシージャ
Ctrl +↓で、次のプロシージャーの先頭行に移動します。

Ctrl+↑で、前のプロシージャーの先頭に移動します、
ただし、プロシージャー内の途中行の場合は、当該プロシージャーの先頭に移動します。

移動先のプロシージャーが決まっている場合は、右上のドロップダウンリストから選択できます。

VBA VBE ショートカットキー

Shift + F2:定義の表示
Ctrl + Shift + F2:直前の場所に戻る
以下の動画は右クリックメニユーでの操作になりますが、これをショートカットで行えるという事です。
※ショートカットでは見た目で分からないので。

VBA VBE ショートカットキー

Ctrl + Z:元に戻す
Ctrl + Y:現在行の切り取り※やり直しではない
Ctrl + Zについては、Windows全般での共通ショートカットとなっていますので、特に説明は不要でしょう。
注意していただきたいのは、
エクセルでは、Ctrl+Yが「やり直し」(直前の「元に戻す」の実行前にする)ショートカットになっていますが、
VBEでは、現在行の切り取りとなっている事に注意してください。
エクセルでCtrl+Yを多用している場合は、手癖でやってしまう事もありますので、
やってしまった場合は、それこそCtrl+Zで戻してください。

Ctrl + F:検索
Ctrl + H:置換
F3:次を検索
Shift + F3:前を検索
検索/置換のショートカットは、Windows全般での共通ショートカットとなっていますので、
VBE特有の機能についてのみ説明します。

VBA VBE ショートカット

対象
カレント プロシージャー
入力カーソルのある編集中のプロシージャー
つまり、SubやFunctionプロシージャー単位です。

カレント プモジュール
入力カーソルのある編集中のモジュール
Module1やSheet1等の単位です。

カレント プロジェクト
入力カーソルのある編集中のプロジェクト
ブック単位という事です。

F3:次を検索 / Shift + F3:前を検索
「検索/置換」を行った後は、検索文字列はそのまま記憶されています。

検索文字列が記憶されている状態で、
F3/Shift+F3を押すと、入力カーソル位置から検索が開始されます。

検索文字列が記憶されていない状態(エクセルを起動してから初めて)で、
F3/Shift+F3を押すと、検索ダイアログが表示されます。


コメントアウト

VBAにコメントを書くことはとても重要ですし頻繁に行います。
ただし、コメントを書くときに先頭に'(シングルクォーテーション)を付けること自体が面倒という事はないでしょう。
面倒に感じるのは、コーディングの途中、
デバッグをしつつの試行錯誤の過程で、一部のコードをまとめてコメントアウトしたい時でしょう。
コメントアウトとは、
記述されているコードを処理されないようにすることです。
記述自体を消すことなく、そのコードが実行されない形で残しておけます。

VBEには、コメントアウトするためのショートカットキーが存在しません。
VBEの「ツールバー」の「ユーザー設定」を使って、ショートカットキーを割り当てる方法もあります。
WEBでやり方を紹介しているページも多数ありますので、興味のある方は検索してみてください。

コメントアウトするには、ツールバーを使います。
VBA VBE ショートカット

VBA VBE ショートカット コメント ブロック
選択行の先頭(入力文字位置に関係無く先頭)に'(シングルクォーテーション)を1つ付けます。

VBA VBE ショートカット 非 コメント ブロック
選択行の'(シングルクォーテーション)を先頭から1つ消します。

VBA VBE ショートカット


ショートカットとコード編集の最後に

VBAコード作成/編集を素早く効率的に行える事に越したことは無いでしょう。
手がマウスとキーボードを頻繁に行ったり来たりするのは、効率が悪いだけでなく、手も疲れてしまいますよね。

もちろんVBAを始めた当初は、ゆっくりVBAを記述していって良いです。
と言いますか、ゆっくりしかできないでしょう。
少しずつショートカットキーを使い慣れながら、自身に合ったコーディングスタイルを作っていければ良いと思います。




同じテーマ「マクロVBA入門」の記事

VBEの使い方:VBE画面の全体説明
VBEの使い方:ツールのオプション設定
VBEの使い方:ツールバー
VBEの使い方:右クリックメニューとヘルプ
VBEの使い方:ショートカットキーとコード編集
VBEの使い方:イミディエイト ウィンドウ
VBEの使い方:ローカル ウィンドウ
VBEの使い方:ウォッチ ウィンドウ
VBEの使い方:オブジェクト ブラウザー
VBEの使い方:デバッグ


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ