Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – 実行方法(F5)

Excel VBA VBA
スポンサーリンク

「実行する」とは何かをまず言葉でつかむ

VBAで「実行する」とは、書いたプログラム(マクロ)を実際に動かしてみることです。
Sub で始まり End Sub で終わる一つのプロシージャを、上から順番に最後まで動かすイメージです。

コードを書いただけでは、Excelはまだ何もしてくれません。
「よし、今からこの手順を動かして」と合図を出すのが「実行」で、その代表的な合図が F5 キーです。

F5 実行の基本イメージ

F5 は「今いるプロシージャを最後まで走らせるキー」

VBE(Visual Basic Editor)の画面で F5 を押すと、「カーソルが置かれているプロシージャを最後まで実行する」という動きになります。

ポイントは二つです。
一つ目は、「どのプロシージャを実行するか」はカーソルの位置で決まること。
二つ目は、「そのプロシージャを最初から End Sub まで一気に走らせる」ことです。

だから、F5 を押す前に「どのプロシージャの中にカーソルがあるか」がとても大事になります。

F5 が効く条件と、効かないときに起きること

F5 が正しく動く条件は、「カーソルが Sub ~ End Sub の間にあること」です。

もしプロシージャの外(何もない場所)にカーソルがある状態で F5 を押すと、「実行するプロシージャが決まっていない」ので、エラーのダイアログが出たり、「どのマクロを実行しますか?」という選択画面が出たりします。

超初心者のうちは、「F5 を押す前に、必ず実行したいプロシージャの中を一度クリックする」と覚えておくと安全です。

実際に F5 実行を体験してみる(例題)

例題1:メッセージを出すだけのマクロを F5 で実行

標準モジュール(Module1 など)に、次のコードを書いてみてください。

Sub あいさつ()

    MsgBox "F5 で実行されました!"

End Sub
VB

ここから F5 実行までの流れを、ゆっくり追ってみます。

1.VBE を開く(Alt+F11、または開発タブの「Visual Basic」)。
2.左のプロジェクトエクスプローラーで Module1 をダブルクリックして、右側にコードを表示する。
3.Sub あいさつ() の行、またはその下の MsgBox の行など、プロシージャの中を一度クリックしてカーソルを置く。
4.キーボードの F5 キーを押す。

すると、Excel側に戻ってメッセージボックスが表示されます。
「F5 で実行されました!」と出れば成功です。

ここで体感してほしいのは、「F5 は、今カーソルがいるプロシージャを一気に動かすスイッチなんだ」という感覚です。

例題2:セルに書き込むマクロを F5 で実行

同じ標準モジュールに、もう一つプロシージャを追加してみます。

Sub セルに書き込む()

    Range("A1").Value = "F5 で書き込みました"

End Sub
VB

今度は、この「セルに書き込む」を F5 で実行してみます。

1.Sub セルに書き込む() の行をクリックして、カーソルを置く。
2.F5 キーを押す。
3.Excel のシートに戻って、A1 セルを確認する。

A1 セルに「F5 で書き込みました」と入っていれば、F5 で別のプロシージャも問題なく実行できている証拠です。

ここで大事なのは、「同じモジュールに複数のプロシージャがあっても、F5 は“今カーソルがいる方だけ”を実行する」という点です。

F5 実行でつまずきやすいポイントを深掘り

カーソル位置がプロシージャの外にあるパターン

よくあるのが、「F5 を押したのに、思っていたマクロが動かない」「エラーっぽいダイアログが出た」というパターンです。

原因のほとんどは、「カーソルがプロシージャの外にある」ことです。

たとえば、標準モジュールの一番上の空白行や、Option Explicit の行などにカーソルがある状態で F5 を押すと、「どのプロシージャを実行すればいいか分からない」ので、VBE が困ってしまいます。

対策はシンプルで、「実行したい Sub ~ End Sub の中を必ず一度クリックしてから F5」。
これを習慣にしてしまえば、かなりのトラブルを避けられます。

実行中に止めたいときはどうするか(軽く触れておく)

F5 で実行したマクロが長く動き続けてしまったり、「あ、間違えた」と思ったときは、中断することもできます。

代表的なのは Ctrl+Break(または Esc)での中断です。

超初心者のうちは、「もし止まらなくなっても、Ctrl+Break(または Esc)で止められる」と知っておくだけで、安心して F5 を押せるようになります。

F5 と他の実行方法の位置づけ

マクロ画面からの実行との違い

Excel の「開発タブ → マクロ」からも、マクロを実行できます。
この場合は、一覧から実行したいプロシージャ名を選んで「実行」を押します。

VBE の F5 実行との違いは、「どこにいるか」です。

VBE で F5:コードを書いている“その場”からすぐ試せる。
マクロ画面から実行:Excel側から、完成したマクロを呼び出すイメージ。

コードを書いている最中は、ほぼ F5 だけで十分です。
「ユーザーに使ってもらうとき」は、ボタンやマクロ画面から実行する形にしていきます。

F8(ステップ実行)との関係

F5 は「最後まで一気に実行」ですが、F8 は「1行ずつ実行」です。

F5:とにかく動くかどうかをサッと確認したいとき。
F8:どの行で何が起きているか、じっくり追いかけたいとき。

超初心者の段階では、まず F5 を体に染み込ませるのが先で、
「動きはするけど、なんかおかしいな」と感じ始めたら F8 に進む、くらいの順番で大丈夫です。

まとめと、次の一歩

今日おさえてほしい F5 のポイント

1.「実行」とは、Sub ~ End Sub の中身を上から順に動かすこと。
2.F5 は「今カーソルがあるプロシージャを最後まで実行するキー」。
3.F5 を押す前に、「実行したいプロシージャの中をクリックしてカーソルを置く」が超重要。
4.メッセージ表示やセル書き込みのような簡単なマクロを、F5 で何度も動かして感覚をつかむのが一番の近道。

次の練習アイデア

一つの標準モジュールに、あいさつ用、セル書き込み用、両方を呼び出すメイン用、という三つのプロシージャを書いてみてください。

そのうえで、あえて違うプロシージャの中にカーソルを置いて F5 を押してみる。
「今どれが動いた?」を意識してみると、「F5 はカーソル位置で実行対象が決まる」という感覚が、かなりハッキリつかめてきます。

タイトルとURLをコピーしました