Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – マクロ有効ブックを理解

Excel VBA VBA
スポンサーリンク

Excel VBAってそもそも何者?

Excel VBA は「Excelに入っている小さなプログラミング言語」です。
正式名称は Visual Basic for Applications
あなたが普段マウスでやっている操作(コピー、貼り付け、集計、並べ替え…)を、VBAで「手順」として書いておくと、ボタン一発で自動でやってくれるようになります。

イメージとしては、

  • 人間がやる作業手順 → 「マクロ(Macro)」
  • そのマクロを書く言語 → 「VBA」

という関係です。

「プログラミング」と聞くと難しそうですが、Excel VBAは

  • Excelの操作に特化している
  • 画面を見ながら試しやすい
  • 1行だけの簡単な命令から始められる

ので、プログラミング超初心者にはむしろ向いています。


VBAを始めるための“基礎環境”とは?

開発タブを表示する

VBAを書くための入口が「開発」タブです。
これが出ていないと、VBAの画面(VBE)に行けません。

Excelの上のリボンに「ホーム」「挿入」「ページレイアウト」などが並んでいますが、その中に「開発」があればOK。なければ設定で出します。

手順のイメージはこんな感じです。

  1. Excel左上の「ファイル」をクリック
  2. 「オプション」を開く
  3. 「リボンのユーザー設定」を選ぶ
  4. 右側の一覧から「開発」にチェックを入れて「OK」

これでリボンに「開発」タブが出てきます。
ここが、VBAの世界への玄関です。

VBE(VBAの編集画面)を開く

VBAのコードは、普通のシート上には書きません。
専用の編集画面「VBE(Visual Basic Editor)」で書きます。

開き方は2通りあります。

  • キーボードで Alt + F11
  • 「開発」タブ → 「Visual Basic」ボタンをクリック

すると、別ウィンドウでVBAの画面が開きます。
左側に「VBAProject(ブック名)」、右側にコードを書く白い画面が出ていればOKです。

モジュールを挿入する

VBAのコードは「モジュール」という箱の中に書きます。

  1. VBEの上のメニューから「挿入」→「標準モジュール」をクリック
  2. 左側に「Module1」が増え、右側に真っ白なコード画面が出る

ここに、実際のVBAコードを書いていきます。


「マクロ有効ブック」を理解する

拡張子 .xlsx と .xlsm の違い

ここが超重要ポイントです。

  • 普通のExcelファイル:〇〇.xlsx
  • マクロ(VBA)を含められるファイル:〇〇.xlsm

.xlsx にはマクロを保存できません。
もし .xlsx のまま保存すると、せっかく書いたVBAコードが「なかったこと」にされます。

だから、VBAを使うときは必ず

  • 「Excel マクロ有効ブック(*.xlsm)」として保存する

というのが鉄則です。

なぜ「マクロ有効ブック」が必要なのか

Excelはセキュリティのために、

  • 普通のファイル(.xlsx)にはマクロを入れさせない
  • マクロを入れたいなら「このファイルはマクロを使う特別なファイルですよ」と宣言してね

というルールになっています。

その「宣言」が、拡張子 .xlsm です。

つまり、

  • .xlsm = 「このブックにはマクロが入るかもしれません」という印
  • .xlsx = 「マクロは入れません」という普通のブック

と覚えておくとスッキリします。

実際にマクロ有効ブックを作ってみる

超初心者向けに、実際にやる流れをイメージで書きます。

  1. Excelを開く(空のブックでOK)
  2. 左上の「ファイル」→「名前を付けて保存」
  3. 「ファイルの種類」で「Excel マクロ有効ブック(*.xlsm)」を選ぶ
  4. ファイル名を VBA練習用.xlsm などにして保存

これで、あなた専用の「VBA練習用マクロ有効ブック」が完成です。
今後は、このファイルの中でVBAを書いていきます。


超シンプルなマクロを書いてみる(例題)

まずは「メッセージを出すだけ」のマクロ

いきなり難しいことはしません。
「メッセージボックスを1つ出すだけ」のマクロから始めましょう。

先ほど作った .xlsm ファイルを開き、次の流れで進めます。

  1. Alt + F11 でVBEを開く
  2. 「挿入」→「標準モジュール」で Module1 を作る
  3. 右側の白い画面に、次のコードを書きます
Sub あいさつ()

    MsgBox "こんにちは!VBAの世界へようこそ"

End Sub
VB

これで、あなたの人生初VBAマクロが完成です。

このコードの意味をかみ砕いて解説

1行目:Sub あいさつ()

  • 「Sub(サブ)」は「マクロのはじまり」の合図
  • あいさつ はマクロの名前(自分で決めてOK、日本語でもOK)
  • () は「これから命令が始まりますよ」という印

3行目:MsgBox "こんにちは!VBAの世界へようこそ"

  • MsgBox は「メッセージボックスを表示して」という命令
  • " " で囲まれた部分が、実際に表示される文字

5行目:End Sub

  • 「このマクロはここで終わりです」という印

つまり、この3つのセットで

  • Sub ~ End Sub:マクロの枠
  • その中に命令を書いていく

という構造になっています。

マクロを実行してみる

書いただけでは動きません。
実行して、初めて「おお、動いた!」になります。

実行方法は2つあります。

1つ目:VBEから実行

  1. VBEの中で、カーソルを Sub あいさつ() のどこかに置く
  2. キーボードで F5 を押す

すると、Excel側に戻ってメッセージボックスが表示されます。

2つ目:Excelの「マクロ」から実行

  1. Excelに戻る
  2. 「開発」タブ → 「マクロ」ボタンをクリック
  3. 一覧から「あいさつ」を選んで「実行」

どちらでもOKです。
「こんにちは!VBAの世界へようこそ」と出たら、大成功です。


もう一歩:セルに文字を書くマクロ(例題2)

例題:A1セルに自動で文字を入れる

次は、Excelらしいことをしてみましょう。
「A1セルに文字を自動で入れる」マクロです。

同じ Module1 に、次のコードを追加してみてください。

Sub セルに書き込む()

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

End Sub
VB

コードの意味

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

  • Range("A1") は「A1セル」という意味
  • .Value は「そのセルの中身(値)」
  • = は「~にする」
  • "VBAで書き込みました" が、実際に入る文字

つまり日本語にすると、

A1セルの値を「VBAで書き込みました」にしなさい

という命令です。

実行して確認する

  1. Sub セルに書き込む() の中にカーソルを置く
  2. F5 を押して実行
  3. Excelのシートに戻って、A1セルを見る

A1セルに「VBAで書き込みました」と入っていればOKです。

ここまでできたら、もう立派に「VBAでExcelを動かした」ことになります。


「マクロ有効ブック」で気をつけるべきポイント

重要ポイント1:必ず .xlsm で保存する

VBAを書いたあとに、うっかり

  • 「上書き保存」で .xlsx にしてしまう
  • 別名保存で「ファイルの種類」を変え忘れる

と、マクロが消えます。

特に最初のうちは、

  • 「このファイルはVBA用だから、最初に必ず .xlsm で作る」
  • 「VBAを書いたファイルは、常に .xlsm のまま上書き保存する」

というクセをつけておくと安全です。

重要ポイント2:開いたときの「マクロを有効にする」

.xlsm ファイルを開くと、画面上部に

セキュリティの警告:マクロが無効にされました
[コンテンツの有効化]

のような黄色いバーが出ることがあります。

これはExcelが

このファイル、マクロ入ってるかもだけど、本当に動かしていい?

と聞いてきている状態です。

自分で作ったファイルなら「コンテンツの有効化」を押してOKです。
(知らない人からもらったファイルは注意が必要ですが、今は自作だけを触る前提で大丈夫です)

重要ポイント3:マクロは「動くExcelのレシピ」

マクロ有効ブックは、

  • 普通のExcelファイル(データ)
  • + マクロ(動き方のレシピ)

がセットになったもの、と考えると分かりやすいです。

.xlsx は「料理だけ」
.xlsm は「料理+レシピ(マクロ)」

というイメージです。


まとめ:超初心者がまず押さえるべき流れ

今日のゴールを整理

あなたが今、押さえておけばいいポイントは次の4つです。

  1. VBAは「Excelを自動で動かすための言語」
  2. VBAを書くには「開発タブ」と「VBE」が必要
  3. マクロを保存するには「マクロ有効ブック(.xlsm)」が必須
  4. 超簡単なマクロ(メッセージ表示・セルに書き込み)から始めればOK

次の一歩としておすすめの練習

  • あいさつのメッセージを、自分の名前入りに変えてみる
    例:MsgBox "こんにちは、山田さん!VBAへようこそ"
  • セルに書き込む場所を変えてみる
    例:Range("B3").Value = "ここはB3です"
  • 2行以上の命令を入れてみる
    例:A1とB1に別々の文字を書き込む
Sub 練習その1()

    Range("A1").Value = "これはA1です"
    Range("B1").Value = "これはB1です"

End Sub
VB

こうやって少しずつ「命令を増やす」「場所を変える」「文字を変える」を繰り返すと、自然とVBAの感覚がつかめてきます。

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