Excel VBAとVBEの関係をイメージする
Excel VBA は「Excelに対して出す命令の言語」です。
その命令を書くための“ノート”が必要ですよね。
そのノートが、Visual Basic Editor、略して VBE(ブイ・ビー・イー)です。
Excel本体は「表をいじるアプリ」。
VBEは「その表をどう動かすかを書く場所」。
こう分けて考えるとスッキリします。
VBAをやると決めた瞬間から、ExcelとVBEはセットで使う存在になります。
VBEとは何かを超初心者向けにかみ砕く
VBEは「VBA専用の作業部屋」
VBEの正式名称は Visual Basic Editor。
Excelの中に最初から入っている「VBAを書くための専用エディタ」です。
ここでできることは、ざっくり言うと三つです。
1.マクロ(VBAコード)を書く
2.書いたマクロを実行する
3.エラーが出たときに原因を調べる(デバッグする)
Excelのセルに直接コードを書くわけではなく、
「VBAを書く場所はVBE」と覚えておくと迷いません。
なぜ“専用の画面”が分かれているのか
理由はシンプルで、役割が違うからです。
Excelのシート画面は「データを見たり編集したりする場所」。
VBEは「そのデータをどう自動で処理するかを書く場所」。
プログラミングをするときは、基本的にずっと VBE の中で作業します。
実行した結果を確認するときだけ、Excelのシートに目を戻す、という感覚です。
VBEの起動方法(開き方)をしっかり押さえる
ここが今日の一番の重要ポイントです。
「VBEを開けるかどうか」で、VBAを始められるかが決まります。
方法1:開発タブから起動する(王道ルート)
開発タブが表示されている前提で説明します。
もしまだ出していなければ、先に「開発タブ表示」の設定を済ませてください。
1.Excelの上のリボンから「開発」タブをクリックする。
2.左側にある「Visual Basic」ボタンをクリックする。
これだけで、別ウィンドウとして VBE が開きます。
画面が少し暗めのグレーで、左にツリー、右に白いコード画面が出ていれば成功です。
この方法の良いところは、「どこから開いたか」が目で分かることです。
超初心者のうちは、「開発タブ → Visual Basic」という流れを体に覚えさせるのがおすすめです。
方法2:ショートカットキー Alt+F11 で起動する
もう一つの方法が、キーボードショートカットです。
Alt キーを押しながら F11 キーを押す。
これだけで、VBEの画面が開きます。
すでに開いている場合は、ExcelとVBEの画面が切り替わります。
慣れてくると、ほぼ全員がこの Alt+F11 を使うようになります。
ただ、最初は「どこから開いたか分かる」開発タブ経由の方が安心なので、
両方知ったうえで、好きな方を使えばOKです。
どちらで開いても“同じVBE”が開く
開発タブから開いても、Alt+F11 で開いても、
出てくる VBE はまったく同じものです。
「どっちで開いたら正解?」と悩む必要はありません。
マウス派なら開発タブ、キーボード派なら Alt+F11。
自分がやりやすい方を選べばいい、というスタンスで大丈夫です。
VBEの画面構成をざっくり理解する
細かく全部覚える必要はありません。
「ここだけ分かっていれば、まずは十分」というポイントだけ押さえます。
プロジェクトエクスプローラー(左上)
左側に縦長のウィンドウで、
「VBAProject(ブック名)」と書かれたツリーが見えるはずです。
ここには、次のようなものが表示されます。
・今開いているブック(ファイル)
・その中のシート(Sheet1、Sheet2 など)
・ThisWorkbook
・Modules(標準モジュール)
イメージとしては、「このブックの中にどんな部品があるかの一覧」です。
ここから「どのモジュールのコードを開くか」を選びます。
コードウィンドウ(右側の白い大きな部分)
実際に VBA のコードを書く場所です。
標準モジュールをダブルクリックすると、この右側に真っ白な画面が出てきます。
ここに
Sub 〇〇()
' ここに命令を書く
End Sub
VBのような形で、マクロを書いていきます。
まずは「この二つだけ」で十分
他にも「プロパティウィンドウ」や「イミディエイトウィンドウ」などがありますが、
超初心者の段階では、意識するのは次の二つだけでOKです。
・左のプロジェクトエクスプローラー
・右のコードウィンドウ
この二つが見えていれば、「VBAを書く準備はできている」と思って大丈夫です。
実際にVBEを起動して、マクロを書いてみる例題
ここからは、手を動かすイメージで説明します。
「VBEを開く → モジュールを作る → マクロを書く → 実行する」という一連の流れを体験します。
手順1:VBEを起動する
1.Excelで適当なブックを開く(できれば .xlsm 形式のマクロ有効ブック)。
2.開発タブ → Visual Basic をクリック、または Alt+F11 を押す。
VBEの画面が開いたら、左に「VBAProject(ブック名)」が見えているか確認します。
手順2:標準モジュールを挿入する
1.VBEの上のメニューから「挿入」をクリックする。
2.「標準モジュール」を選ぶ。
左のプロジェクトエクスプローラーに「Module1」が追加され、
右側に真っ白なコードウィンドウが表示されます。
ここが、あなた専用の「マクロを書くノート」です。
手順3:超シンプルなマクロを書いてみる
右側の白い画面に、次のコードをそのまま入力してみてください。
Sub はじめてのVBE()
MsgBox "VBEからはじめてのマクロを実行しました!"
End Sub
VBスペルミスがあると動かないので、ゆっくりで大丈夫です。
入力し終わったら、一度どこか別の行をクリックしてみてください。
自動でインデント(字下げ)が整えば、VBEがコードとして認識してくれています。
このコードの意味をかみ砕く
Sub はじめてのVBE()
マクロのスタートを表すキーワードが Sub です。
その後ろの「はじめてのVBE」はマクロの名前で、好きに決めて構いません。
「この名前のマクロを実行するよ」というラベルだと思ってください。
MsgBox “VBEからはじめてのマクロを実行しました!”
MsgBox は「メッセージボックスを表示して」という命令です。
ダブルクォーテーション ” ” で囲まれた部分が、実際に画面に表示される文字です。
End Sub
「このマクロはここで終わりです」という区切りです。
Sub ~ End Sub の間に、命令を並べていく、という構造になります。
手順4:VBEからマクロを実行してみる
1.今書いたマクロの中(たとえば Sub の行)をクリックして、カーソルを置く。
2.キーボードの F5 キーを押す。
すると、Excel側に戻って、メッセージボックスが表示されるはずです。
「VBEからはじめてのマクロを実行しました!」と出たら、大成功です。
これで、「VBEを起動して、マクロを書いて、実行する」という一連の流れを体験できました。
VBE起動まわりでつまずきやすいポイントを深掘り
「VBEが開かない」「画面がよく分からない」とき
よくあるつまずきは、次のようなものです。
・Alt+F11 を押しても何も起きていない気がする
・VBEは開いているけれど、真っ白で何もないように見える
・どこにコードを書けばいいか分からない
それぞれ、こう考えると整理できます。
Alt+F11 を押しても何も起きないように見える場合
実は裏で VBE が開いていて、別ウィンドウとして隠れていることがあります。
タスクバーを確認して、「Visual Basic」というアイコンがないか探してみてください。
真っ白で何もないように見える場合
標準モジュールがまだ挿入されていない可能性があります。
「挿入 → 標準モジュール」を実行すると、右側にコードウィンドウが出てきます。
どこにコードを書けばいいか分からない場合
左のプロジェクトエクスプローラーで「Module1」をダブルクリックすると、
右側にそのモジュールのコードウィンドウが表示されます。
そこに Sub ~ End Sub を書いていきます。
ExcelとVBEの行き来に慣れるコツ
最初は、「今どっちの画面を見ているのか」が分からなくなりがちです。
次の二つの動きをセットで覚えると、かなり楽になります。
・Alt+F11 で Excel と VBE を行き来する。
・VBEで F5 を押すと、Excel側でマクロが動く。
この二つが体に入ると、「あ、今はコードを書くモード」「今は結果を見るモード」と、
頭の中で自然に切り替えができるようになります。
まとめと、次の一歩
今日おさえてほしいポイント
1.VBE は「VBAを書くための専用エディタ」で、Excelとは別ウィンドウ。
2.VBEの起動方法は「開発タブ → Visual Basic」か「Alt+F11」。
3.左のプロジェクトエクスプローラーと右のコードウィンドウ、この二つが見えていれば準備OK。
4.標準モジュールを挿入して、そこに Sub ~ End Sub の形でマクロを書く。
5.VBEで F5 を押すと、書いたマクロが実行される。
ここまでできていれば、「VBE起動でつまずく段階」はもう卒業です。
次の一歩としての小さな練習
同じ Module1 の中に、マクロをもう一つ増やしてみてください。
Sub セルに書き込む練習()
Range("A1").Value = "VBEからセルに書き込みました"
End Sub
VBこのマクロも、VBEでカーソルを置いて F5 で実行してみる。
A1セルに文字が入れば成功です。
「VBEを開く → モジュールを選ぶ → コードを書く → F5で実行 → Excelで結果を見る」
このリズムに慣れてくると、VBAが一気に“自分の道具”になっていきます。
