カテゴリ: Excel VBA 更新日: 2026/04/06

Excel VBAの命名規則ガイド!モジュール・変数・プロシージャの統一方法

Excel VBAの命名規則ガイド!モジュール・変数・プロシージャの統一方法
Excel VBAの命名規則ガイド!モジュール・変数・プロシージャの統一方法

先生と生徒の会話形式で理解しよう

生徒

「VBAでプログラムを書いているのですが、変数やプロシージャの名前にいつも迷ってしまいます。何か決まりはありますか?」

先生

「それは非常に大切な視点ですね。プログラムの世界では、名前の付け方のルールのことを『命名規則(めいめいきそく)』と呼びます。」

生徒

「ルールを決めると、どんなメリットがあるんですか?」

先生

「あとで読み返したときに意味がすぐ分かったり、他の人と協力して作るときに混乱を防いだりできるんですよ。今日は初心者の方でも実践できる、読みやすい名前の付け方を解説します!」

1. 命名規則とは?なぜ名前の付け方が重要なのか

1. 命名規則とは?なぜ名前の付け方が重要なのか
1. 命名規則とは?なぜ名前の付け方が重要なのか

Excel VBAにおいて、命名規則とは「プログラムの中に登場する様々な要素に、統一感のある名前を付けるためのルール」のことです。プログラミング未経験の方にとって、名前はなんでも良いと思われがちですが、実はここが運用の分かれ道になります。

例えば、片付けをするときに、中身が分からない箱に「箱1」「箱2」と名前を付けても、後で何が入っているか分かりませんよね。それよりも「キッチン用品_お皿」「書類_契約書」と名前が付いている方が、誰が見ても中身がすぐに理解できます。VBAのプロジェクト構成においても、変数、プロシージャ(命令のまとまり)、モジュール(プログラムの保存先)に分かりやすい名前を付けることで、「可読性(読みやすさ)」「保守性(直しやすさ)」が劇的に向上します。Google検索でも「VBA 読みやすいコード」や「VBA 開発効率」を求めている人は、必ずこの命名規則を学んでいます。

2. 変数名の付け方:役割と中身を明確にする

2. 変数名の付け方:役割と中身を明確にする
2. 変数名の付け方:役割と中身を明確にする

変数(へんすう)とは、データを入れておくための「箱」のことです。初心者のうちは ab といった一文字の名前にしてしまいがちですが、これは避けるべきです。名前を見ただけで「何が入っている箱か」がわかるようにします。

よく使われる手法に「キャメルケース」があります。これは、複数の単語をつなげるときに userFirstName のように、2つ目の単語の先頭を大文字にする書き方です。ラクダ(Camel)のコブのように見えることからそう呼ばれています。また、変数の名前には「名詞」を使うのが一般的です。


' 悪い例:中身が分からない
Dim n As String
n = "田中太郎"

' 良い例:名前が入っていることが一目で分かる
Dim userName As String
userName = "田中太郎"

' 良い例:合計金額であることが分かる
Dim totalAmount As Long
totalAmount = 15000

3. プロシージャ名(マクロ名)の付け方:動詞から始める

3. プロシージャ名(マクロ名)の付け方:動詞から始める
3. プロシージャ名(マクロ名)の付け方:動詞から始める

プロシージャとは、特定の処理をまとめた一連の動作(命令)のことです。マクロを実行するときに選ぶ名前もこれに当たります。プロシージャ名は、そのマクロが「何をするのか」を表すため、「動詞 + 名詞」の形にすると非常に分かりやすくなります。

例えば、シートを印刷するマクロなら PrintReport、データを保存するなら SaveData といった具合です。こうすることで、コードを読んだときに「ここでデータを保存しているんだな」と直感的に理解できるようになります。


' 悪い例:何をするか不明
Sub Shori1()
    Range("A1").Value = Date
End Sub

' 良い例:日付を入力する処理だと分かる
Sub WriteCurrentDate()
    ' 現在の日付を入力する
    Range("A1").Value = Date
End Sub

' 良い例:売上を集計する処理だと分かる
Sub CalculateSalesTotal()
    ' 集計の計算ロジック(後続で学習)
End Sub

4. モジュール名の付け方:役割ごとにプレフィックスを活用

4. モジュール名の付け方:役割ごとにプレフィックスを活用
4. モジュール名の付け方:役割ごとにプレフィックスを活用

モジュールとは、プログラムのコードを書き込むファイル(保存場所)のようなものです。標準モジュールの名前が Module1Module2 のままだと、どのファイルにどの機能が書いてあるか分からなくなります。プロジェクトエクスプローラー(VBEの左側のツリー)を整理するために、名前の先頭に役割を示す短い文字(プレフィックス)を付けるのがおすすめです。

  • mod_Main:メインの処理を書く場所
  • mod_Common:どのマクロでも使う共通の計算などを書く場所
  • mod_FileIO:ファイルの読み書きに関する処理を書く場所

このように、「アンダースコア(_)」を使って分類することで、アルファベット順に並び、管理がしやすくなります。パソコンを触ったことがない方でも、フォルダ分けのようなものだと考えれば簡単ですね。

5. 避けるべき命名と予約語の注意点

5. 避けるべき命名と予約語の注意点
5. 避けるべき命名と予約語の注意点

名前を付けるときには、いくつか注意点があります。まず、日本語(全角文字)はなるべく使わないようにしましょう。VBAでは日本語の名前も動きますが、文字化けのリスクや、他のシステムとの連携で不具合が起きる可能性があるため、アルファベットと数字を使うのが世界標準のルールです。

また、予約語(よやくご)と呼ばれる、VBAがすでに特別な意味として使っている単語は名前に使えません。例えば Date(日付を取得する関数)や String(データ型の一種)などを変数名にすると、プログラムが混乱してエラーの原因になります。名前を付けた後に文字が勝手に大文字・小文字に変換されたり、青色に変わったりする場合は、予約語の可能性があるので別の名前に変えましょう。


' 悪い例:予約語を変数名にしている
Dim String As String ' エラーになる可能性大

' 悪い例:日本語の名前(動くが推奨されない)
Dim 顧客名 As String 

' 良い例:英語で意味を補完する
Dim clientName As String

6. 定数の付け方:すべて大文字で際立たせる

6. 定数の付け方:すべて大文字で際立たせる
6. 定数の付け方:すべて大文字で際立たせる

定数(ていすう)とは、消費税率や固定のファイルパスなど、プログラムの途中で値を変えたくない「決まった数」のことです。これには Const というキーワードを使います。定数の名前は、変数と区別するために「すべて大文字」で書き、単語の間を「アンダースコア」でつなぐ「スネークケース」という書き方をするのが一般的です。


' 消費税率を定数として定義
Const TAX_RATE As Double = 0.1

Sub CalculatePrice()
    Dim price As Long
    price = 1000
    ' 定数を使って計算
    MsgBox "税込価格は " & price * (1 + TAX_RATE) & " 円です。"
End Sub

このようにすべて大文字にすることで、「これは途中で変えてはいけない大事な値だ!」と自分や他のプログラマーに知らせる効果があります。

7. 統一したルールをプロジェクト全体に適用する

7. 統一したルールをプロジェクト全体に適用する
7. 統一したルールをプロジェクト全体に適用する

これまで紹介したルールを、プロジェクト全体で一貫して守ることが重要です。今日はキャメルケース、明日はスネークケース、とバラバラにしてしまうと、結局は「読みづらいコード」に戻ってしまいます。自分の「マイルール」をメモしておき、常に同じ感覚で名前を付けられるようにしましょう。

特に大規模なプロジェクト構成を考える場合、最初に「命名規則ガイドライン」を決めておくと、半年後にプログラムを修正するとき、当時の自分が何を考えていたかが魔法のように伝わってきます。未経験の方こそ、最初からこの「美しい名付け」を意識することで、上達のスピードが格段に早くなります。Excelの自動化を成功させる鍵は、実はロジックよりも、こうした「整理整頓の心」にあるのです。

8. コメント機能を活用して名前を補足する

8. コメント機能を活用して名前を補足する
8. コメント機能を活用して名前を補足する

どれだけ名前を工夫しても、名前だけでは説明しきれない複雑な処理もあります。その場合は、コメント機能を使いましょう。行の先頭に '(シングルクォーテーション)を付けると、その行はVBAに無視され、メモ書きとして残せます。


' 指定したフォルダ内の全てのExcelファイルを開くプロシージャ
' 作成者:田中 作成日:2026/01/18
Sub OpenAllExcelFiles()
    Dim targetFolderPath As String ' 読み込むフォルダの場所
    ' 実際の処理はここに書く
End Sub

「適切な名前 + 分かりやすいコメント」の組み合わせは、最強のプロジェクト構成を作り上げます。パソコンの操作に自信がない方も、日本語でメモを残すことなら簡単にできますよね。この習慣が、あなたのマクロを誰にでも愛される「プロ級のツール」へと変えてくれます。

まとめ

まとめ
まとめ

Excel VBAの命名規則は、単なる「名前の付け方」ではなく、プログラム全体の品質を大きく左右する重要な要素です。変数名、プロシージャ名、モジュール名、そして定数の名前に一貫したルールを持たせることで、コードの可読性が飛躍的に向上し、結果として開発効率や保守性も高まります。特に初心者のうちは「動けばよい」という考えに偏りがちですが、実務では「誰が見ても理解できるコード」であることが求められます。そのため、命名規則を意識することは、Excel VBAのスキルを一段階引き上げるための大切なステップと言えるでしょう。

まず、変数名はその役割と中身が一目で分かるようにすることが基本です。userNameやtotalAmountのように意味を持たせた名前にすることで、後から見返した際にも迷うことがありません。また、キャメルケースを用いることで視認性が高まり、複数単語の組み合わせでも自然に読めるコードになります。Excel VBA初心者の方が最初につまずきやすいポイントですが、この部分を丁寧に行うだけでコードの完成度は大きく変わります。

次に、プロシージャ名は「動詞+名詞」の形を意識することが重要です。例えばWriteCurrentDateやCalculateSalesTotalのように処理内容を表現することで、コードを読んだだけで処理の流れを理解できます。マクロが増えてくると名前の付け方の差が顕著に現れるため、最初からルールを決めておくことがポイントです。Excel VBAの自動化を効率よく進めるためにも、この習慣は必ず身につけておきたいところです。

モジュール名についても、mod_Mainやmod_Commonのように役割ごとに分類することで、プロジェクト全体の構造が整理されます。これは大規模なVBA開発だけでなく、小規模なマクロでも非常に効果的です。ファイルが増えても迷わず目的のコードにたどり着けるため、作業時間の短縮にもつながります。Excel VBAのプロジェクト構成を整える上で、モジュール命名は軽視できないポイントです。

また、予約語の使用を避けることや、日本語の変数名を控えることも重要なポイントです。VBAの仕様上、日本語も使用できますが、文字化けや互換性の問題を防ぐためには英語で統一するのが安全です。さらに、定数はすべて大文字で表現し、TAX_RATEのようにスネークケースを用いることで、変数との違いを明確にできます。このような細かなルールの積み重ねが、読みやすくエラーの少ないコードを生み出します。

最後に、命名規則とあわせてコメントを活用することも忘れてはいけません。処理の意図や背景を補足することで、他の人だけでなく未来の自分にとっても理解しやすいコードになります。特に業務で使うExcel VBAでは、半年後や一年後に修正するケースも多いため、この習慣は非常に価値があります。命名規則とコメントの組み合わせこそが、実用的で長く使えるプログラムを支える基盤になります。

サンプルプログラム(命名規則を意識した例)


' 売上合計を計算して表示するサンプル
Const TAX_RATE As Double = 0.1

Sub CalculateTotalPrice()
    Dim basePrice As Long
    Dim totalPrice As Double
    
    basePrice = 2000
    totalPrice = basePrice * (1 + TAX_RATE)
    
    MsgBox "税込価格は " & totalPrice & " 円です。"
End Sub

実行結果


税込価格は 2200 円です。
先生と生徒の振り返り会話

生徒

「命名規則って、ただの見た目の問題だと思っていましたが、こんなに重要なんですね。」

先生

「そうなんです。名前の付け方ひとつで、コードの理解しやすさが大きく変わります。特にExcel VBAでは長く使うことが多いので重要です。」

生徒

「変数は意味が分かる名前、プロシージャは動詞から始める、というルールが印象に残りました。」

先生

「良いポイントですね。それに加えて、モジュールの整理や定数の大文字表記も意識すると、さらに完成度が上がります。」

生徒

「これからは適当に名前を付けるのではなく、ルールを決めて書いていこうと思います。」

先生

「その意識が大切です。命名規則を身につけることで、Excel VBAのスキルは確実にレベルアップしますよ。」

カテゴリの一覧へ
新着記事
New1
Excel VBA
Excel VBAで業務自動化!初心者でもわかる定型作業の自動化例
New2
Excel VBA
VBAの基本構造を理解しよう!モジュール・プロシージャ・関数の役割まとめ
New3
Office Scripts
Office Scriptsで大量シートを効率管理!Excelワークブック最適構造と自動化テクニック
New4
Excel VBA
Excel VBAが今でも使われ続ける理由とは?現場で評価されるポイントを徹底解説
人気記事
No.1
Java&Spring記事人気No1
Office Scripts
Office Scriptsで別ブックを開いてデータ取得する方法|OneDrive・SharePoint連携でExcel自動化
No.2
Java&Spring記事人気No2
Excel VBA
Excel VBA参照設定エラー「参照が見つかりません」を完全解説!初心者でも原因と対処法がわかる
No.3
Java&Spring記事人気No3
Excel VBA
Excel VBAモジュール共有術!複数のブックでマクロを使い回す最適構成
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBAは今後なくなる?将来性と企業での活用状況を詳しく解説
No.6
Java&Spring記事人気No6
Excel VBA
VBAのコメントの書き方を完全ガイド!初心者でもわかる説明文の付け方
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAで列の追加・行の削除を自動化!InsertとDeleteの使い方を初心者向けに徹底解説
No.8
Java&Spring記事人気No8
Excel VBA
個人用マクロブック(PERSONAL.XLSB)で作る最強の共通ライブラリ化ガイド