VBA 変数名などの命名規則

はじめに

Excel VBA マクロの命名規則を紹介します。

変数名や関数名、モジュール名などの名前にはルールがあります。命名規則に違反した名前は使用できません。

標準モジュールの名前を変更するには、プロパティウィンドウからオブジェクト名を変更します。

Pascal 形式camel 形式 を使った名前の付け方も紹介します。

  • 目次
    • 命名規則
    • モジュール名を変更する
    • 名前の付け方

命名規則

変数や関数、モジュールなどの名前に、次のものは使用できません。

  • 頭文字に数字や記号:1tips や _tips のように数字や記号を名前の先頭に付けられません。2 文字目以降であれば大丈夫です。
  • 一部の記号:スペース . , : ; ! @ & $ # など、この他にも多くの記号を使用できません。構文などで使用される意味のある記号は使用できません。
  • VBA のキーワード:Public, Sub, Integer, If など、キーワードとして使用されているものは使用できません。
  • VBA の関数:Len や Abs などの関数と同じ名前は使用できません。Val や Left など一部の関数と同じ名前は使用できますが、混同するため使用しない方がいいです。
  • 同じスコープで同じ名前:同じ関数の中に同じ名前や、標準モジュールの中に Private で同じ名前などは使用できません。

違反した名前を使用したときは「修正候補: 識別子」や「不正な文字です」や「オブジェクト名が不正です」のエラーメッセージが表示されます。

モジュール名を変更する

標準モジュールやクラスモジュールの名前を変更するには [標準モジュール] や [クラス] を選択した状態で、プロパティウィンドウから [オブジェクト名] を変更します。

1
標準モジュールについては「標準モジュール」をご覧ください。
クラスについては「クラス」をご覧ください。

名前の付け方

一般的に名前には Pascal 形式 (パスカルケース) と camel 形式 (キャメルケース) のどちらかを使用します。

  • Pascal 形式 (パスカルケース) :単語の頭文字を大文字にしたものです。
    例:TipsFound , VisualBasic
  • camel 形式 (キャメルケース):最初の単語を小文字にして、続く単語の頭文字を大文字にしたものです。
    例:tipsFound , visualBasic

Pascal 形式 (パスカルケース) が使われるもの

  • 標準モジュール
  • クラス
  • 構造体
  • 定数
  • Enum
  • Public なもの (変数や関数など)
  • Private な関数

camel 形式 (キャメルケース) が使われるもの

  • Private な変数
  • Dim (ローカル) な変数
  • 引数

名前に略語を使用するのはなるべく避けます。その意味が伝わらないことがあります。できるだけわかりやすく、かつ短い名前が最適です。ただし For 文のインデックスや重要な意味を持たないローカル変数などは 1 文字にすることがあります。

i , s

統一する

重要なのは統一することです。会社の中で他の人と違う形式で名前を付けると、その形式の意味がなくなってしまいます。上記の分け方はあくまで例です。決められたルールがあるならそれに従います。