【Excelマクロ】VBAの命名ルール、現場でよくある3つのパターン

VBAでコードを書く際、避けて通れないのが「命名」の問題です。

変数名やプロシージャ名、シート名やブック名まで、すべてに“名前”をつける必要があります。

とはいえ、明確な正解があるわけではなく、現場やチームによってルールもバラバラです。

実務でよく見かける命名のパターンを3つ紹介し、どんな考え方で名付ければいいのかを整理していきます。

英単語ベースのシンプル命名

最もよく使われるのが、英単語やその省略をベースにした命名です。特別な形式にこだわらず、内容がわかればよいという考え方です。

Dim total As Long
Dim nameList As Variant
Dim ws As Worksheet

特徴は次の通りです。

  • 英語(または省略形)で意味が分かるようにする
  • 名前が長すぎないようにする
  • タイプ(数値か文字列か)は変数名から想像できるようにする

業務に特化した単語(invoice、client、paidなど)も多く使われ、覚えやすく管理しやすいのがメリットです。

ただし、人によって略し方が違うと読みづらくなる点に注意が必要です。

型名を頭につける命名(プレフィックス)

Accessや一部のVBA経験者の間で好まれるのが、「型の頭文字をつける」スタイルです。

たとえば、文字列なら strName、数値なら lngTotal などです。

Dim strTitle As String
Dim lngCount As Long
Dim wsSheet As Worksheet

このスタイルの良い点は、変数の中身が型として何なのかが見ただけでわかることです。

一方で、慣れないと読みづらく、略語のルールが独自になりやすいという欠点もあります。

実務では「後から読む人のためにプレフィックス付きで書いている」というパターンも多く、チームで運用している場合に有効です。

単語のつなぎ方で意味をわかりやすくする方法

最近では、VBAでも「見た目で意味がわかるように名前を付ける」ために、単語のつなぎ方に工夫を加えるケースが増えてきました。

たとえば次のような名前の付け方があります。

  • client_name … 単語をアンダーバー(_)でつなぐ方法。これをスネークケースと呼びます。
  • ClientName … 単語の最初をすべて大文字にする方法。これがパスカルケースです。
  • clientName … 最初の単語は小文字、それ以降の単語の頭文字だけを大文字にする方法。これをキャメルケースと呼びます。
Dim client_name As String    ' スネークケースの例
Dim InvoiceDate As Date      ' パスカルケースの例
Dim totalAmount As Double    ' キャメルケースの例

また、次のようなルールで使い分けると整理しやすくなります。

  • 変数名 → totalAmount のようなキャメルケース
  • プロシージャ名 → SendInvoice のようなパスカルケース
  • 定数名 → MAX_ROW のようにすべて大文字+アンダースコア(アンダーバー)

このように名前にルールを設けておくことで、マクロの処理構造が把握しやすくなり、可読性が高くなります。

実装するメリット

命名にルールを持たせることのメリットは非常に大きいです。

  • コードが読みやすくなる
  • 関数・変数の目的が一目でわかる
  • エラーが減り、保守がしやすくなる
  • 他の人が見ても理解しやすい

マクロが成長していくにつれ、コードはどんどん長くなります。

後から読み返すこと、誰かと共有することを前提にしておくと、命名は“手抜きできない大切な要素”になります。

まとめ

命名ルールに「これが正解!」というものはありません。

大切なのは、自分が理解できること、そして他人が見てもわかることです。

  • 英語ベースの簡潔な名前
  • 型を意識したプレフィックス型(strName や lngCount など)
  • 単語のつなぎ方で意味を表すケース(スネーク・パスカル・キャメル)

まずは一貫性を持つこと。

そして、マクロが複雑になっても読みやすさを保てるように、命名ルールを自分なりに決めておくと、後々のトラブルを防ぐことができます。

「この変数、なんだったっけ?」とならないために、ぜひ、今日から命名にひと工夫を取り入れてみましょう。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール