Excel VBAマクロ入門|初めてのマクロを作る手順とよく使うコード10選

スポンサーリンク

「Excelのマクロって便利そうだけど、何から始めればいいかわからない」。そんな悩みを抱えている方は多いのではないでしょうか。

毎日の手作業をそのまま続けていると、時間も体力も消耗します。ミスも起きやすくなりますよね。

この記事では、Excel初心者でもマクロの作り方がわかるように、開発タブの表示からコードの書き方まで丁寧に解説します。よく使うVBAコード10選もまとめたので、最初の一歩を踏み出してみてください。

ExcelのVBAマクロとは

VBAマクロとは、Excelの操作を自動化する仕組みのことです。手作業で行っている入力や書式設定を、コードで一括実行できます。

VBAとマクロの違い

「VBA」と「マクロ」は混同されがちですが、厳密には意味が異なります。

  • マクロ: Excelの操作を記録・再生する機能の総称
  • VBA: マクロを動かすためのプログラミング言語(Visual Basic for Applications)

つまり、VBAという言語を使ってマクロを作る、という関係です。詳しくはExcel VBAとマクロの違いの記事で解説しています。

マクロでできること

マクロを使うと、以下のような作業を自動化できます。

  • データの入力・コピー・貼り付け
  • セルの書式設定(色・フォント・罫線など)
  • 複数シートへのデータ転記
  • 定型レポートの作成
  • ファイルの保存・印刷

手作業で10分かかる作業が、マクロなら数秒で終わることもあります。具体的な自動化の活用例はVBAで仕事を自動化する方法でも紹介していますよ。

初めてのExcelマクロを作る手順

ここからは、実際にマクロを作る手順を5ステップで説明します。プログラミング未経験でも大丈夫ですよ。

開発タブを表示する

Excelの初期設定では「開発」タブが非表示です。まずはこれを表示させましょう。

  1. 「ファイル」→「オプション」をクリック
  2. 「リボンのユーザー設定」を選択
  3. 右側の一覧で「開発」にチェックを入れる
  4. 「OK」をクリック

これでリボンに「開発」タブが表示されます。詳しい手順は開発タブを表示する方法を参照してください。

VBE(Visual Basic Editor)を開く

VBE(Visual Basic Editor)はVBAコードを書くための専用画面です。以下の方法で開けます。

  • 「開発」タブ →「Visual Basic」をクリック
  • ショートカットキー: Alt + F11

VBEが開くと、左側に「プロジェクトエクスプローラー」が表示されます。ここにブックやシートの一覧が並んでいますよ。

標準モジュールを追加する

VBAコードは「標準モジュール」に書きます。追加の手順は次のとおりです。

  1. VBEのメニューから「挿入」→「標準モジュール」をクリック
  2. 右側にコード入力画面が表示される

この白い画面にコードを書いていきます。

コードを入力して実行する

試しに、メッセージを表示するコードを書いてみましょう。

Sub はじめてのマクロ()
    MsgBox "Hello VBA!"
End Sub

Sub から End Sub までが1つのマクロです。入力できたら、以下の方法で実行します。

  1. カーソルをコードの中に置く
  2. F5 キーを押す(または「実行」→「Sub/ユーザーフォームの実行」)

「Hello VBA!」というメッセージが表示されたら成功です。

マクロ有効ブック(.xlsm)で保存する

マクロを含むファイルは、通常の .xlsx 形式では保存できません。「マクロ有効ブック(.xlsm)」で保存する必要があります。

  1. 「ファイル」→「名前を付けて保存」をクリック
  2. ファイルの種類で「Excelマクロ有効ブック(*.xlsm)」を選ぶ
  3. 「保存」をクリック

.xlsx のまま保存すると、マクロが消えてしまいます。ファイル形式の詳しい違いはVBAのファイル形式で解説していますよ。

よく使うVBAコード10選

ここからは、実務でよく使うVBAコードを10個紹介します。コピーしてVBEに貼り付ければ、すぐに試せます。

1. セルに値を入力する

Sub セルに入力()
    Range("A1").Value = "売上データ"
    Range("B1").Value = 10000
End Sub

Rangeの使い方でセル指定の基本を学べます。Cellsを使った指定方法もあるので、RangeとCellsの違いもあわせて確認してみてください。

2. セルの値を別のセルにコピーする

Sub セルをコピー()
    Range("A1").Copy Destination:=Range("B1")
End Sub

Copy メソッドに Destination を指定すると、貼り付け先を直接選べます。

3. 最終行を取得する

Sub 最終行を取得()
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    MsgBox "最終行は " & lastRow & " 行目です"
End Sub

データの末尾を自動で見つける定番コードです。詳しくはVBA最終行の取得で3つの方法を比較しています。

4. 指定範囲をクリアする

Sub 範囲をクリア()
    Range("A1:D10").ClearContents
End Sub

ClearContents は値だけを消します。書式も含めて消したい場合は Clear を使ってください。

5. メッセージボックスを表示する

Sub メッセージ表示()
    MsgBox "処理が完了しました"
End Sub

処理の完了通知や確認ダイアログに使います。ユーザーに状況を伝えるのに便利ですよ。

6. 条件によって処理を変える(If文)

Sub 条件分岐()
    If Range("A1").Value >= 100 Then
        MsgBox "100以上です"
    Else
        MsgBox "100未満です"
    End If
End Sub

If...Then...Else で条件によって処理を切り替えられます。詳しい使い方はVBA If文の使い方で解説していますよ。

7. 同じ処理を繰り返す(For文)

Sub 繰り返し処理()
    Dim i As Long
    For i = 1 To 10
        Cells(i, 1).Value = i
    Next i
End Sub

A1からA10まで連番を入力するコードです。For...Next 文の基本はVBA For~Next文の使い方で詳しく学べます。

8. セルの書式を変更する

Sub 書式変更()
    Range("A1").Font.Bold = True
    Range("A1").Font.Color = RGB(255, 0, 0)
    Range("A1").Interior.Color = RGB(255, 255, 200)
End Sub

太字・文字色・背景色をコードで設定できます。手作業で何十セルも書式設定するより、ずっと速いですよ。

9. シートを追加・名前を変更する

Sub シート追加()
    Worksheets.Add After:=ActiveSheet
    ActiveSheet.Name = "集計用"
End Sub

新しいシートを追加して、名前を付けるコードです。月次レポートの自動作成などで活躍します。

10. ファイルを保存して閉じる

Sub 保存して閉じる()
    ActiveWorkbook.Save
    ActiveWorkbook.Close
End Sub

処理の最後にファイルを保存して閉じるパターンです。複数ファイルの一括処理で重宝しますよ。

マクロ作成で失敗しないコツ3つ

VBA初心者がつまずきやすいポイントと対策を紹介します。

Option Explicitで変数を宣言する

コードの先頭に Option Explicit を書くと、変数の宣言が必須になります。

Option Explicit

Sub サンプル()
    Dim total As Long
    total = 100
    MsgBox total
End Sub

変数名のタイプミスをコンパイル時に検出できます。バグの予防に効果的です。設定方法はOption Explicitの使い方を参照してください。

変数の種類やデータ型について詳しく知りたい方は、VBA変数の使い方もあわせてどうぞ。

まずはマクロの記録から始める

コードの書き方がわからないときは、「マクロの記録」を活用しましょう。Excelの操作を記録して、VBAコードに変換してくれる機能です。

  1. 「開発」タブ →「マクロの記録」をクリック
  2. 自動化したい操作を手動で行う
  3. 「記録終了」をクリック

記録されたコードをVBEで確認すれば、書き方の参考になります。詳しくはマクロの記録の使い方で手順を解説していますよ。

エラーが出たらデバッグする

VBAのコードにエラーはつきものです。エラーが出ても慌てないでください。

  • コンパイルエラー: コードの文法ミス。赤字で表示される箇所を修正する
  • 実行時エラー: 実行中に発生。「デバッグ」ボタンで問題箇所が黄色くハイライトされる

F8 キーを押すと、コードを1行ずつ実行できます。どこで問題が起きているか特定しやすくなりますよ。

もしマクロが止まらなくなった場合は、マクロが止まらない時の強制終了を参考にしてください。

まとめ

この記事では、Excel VBAマクロの作り方を初心者向けに解説しました。

この記事のポイント

  • VBAはマクロを動かすプログラミング言語。マクロは操作を自動化する仕組み
  • 開発タブの表示 → VBE起動 → モジュール追加 → コード入力 → .xlsmで保存の5ステップで始められる
  • よく使うコード10選を覚えれば、実務の自動化がすぐに始められる
  • Option Explicit と「マクロの記録」を活用すれば、初心者でもミスを減らせる

関連記事

VBAの基礎を身につけたら、次のステップに進んでみましょう。

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