変数の名前
VBAにおける変数に付ける名前には、次のような規則・制限があります。
- スペースや記号は使えない
※英数字、漢字、ひらがな、カタカナ、アンダーバー(_)を使うことができる - 変数の先頭の文字は、英字、漢字、ひらがな、かたかなのいずれかでなければならない
※数字が先頭の名前の変数などは使えない(例:1num など) - 同一適用範囲(スコープ)内で同じ変数名を複数使うことはできない
- 変数名は半角255文字以内でなければならない
- VBAの予約語(if、next、withなどステートメント、関数、オブジェクト名)は使えない
以前のパソコンでは漢字やカタカナ、ひらがななど2バイト文字を変数などに使うと不具合が発生する可能性がありました。
しかし、現在のExcelは文字コードにユニコードを利用しており、ユニコードは半角文字もすべて2バイトとして管理しているので、変数に日本語を使うことができます。
変数名の記法
変数の名前に使う記法で有名なものは、キャメル記法、パスカル記法、スネーク記法などがあります。
キャメル記法を使う方が多いと思います。私もキャメル記法で変数やオブジェクト、プロシージャ名などを書きます。
それぞれの記法については、以下を参照してください。
キャメル記法(アッパーキャメルケース)
先頭文字は小文字。単語の区切りを大文字で記述するのが「キャメル記法」です。余計な区切りなどがなく、文字数が少なくすむのがメリットです。
<例>
strAddress
lngTaxRate
※先頭文字を小文字にするのをローワーキャメルケース、先頭文字を大文字にするのをアッパーキャメルケースと分けることがあるようですが、この記事ではローワーキャメルケースをキャメル記法として扱います。
パスカル記法(ローワーキャメルケース)
単語の区切りを大文字で記述するのが「パスカル記法」です。余計な区切りなどがなく、文字数が少なくすむのがメリットです。
<例>
StrAddress
LngTaxRate
※単語の区切りを大文字で記述する記法はアッパーキャメルケースということもありますが、この記事ではパスカル記法として扱います。
スネーク記法
小文字で記述し、単語の区切りにアンダーバー(_)を使います。単語間が_で区切られていて読みやすいですが、文字数が多くなります。
<例>
str_address
lng_tax_rate
よく使う・よく使われている変数名
変数名は意味があれば、コードの可読性が上がります。
以下のような一時的に使う変数や、繰り返し処理のカウンタとして使うような変数は、一般的に以下のような変数名がよく使われています。
また、変数にはその変数のデータ型が分かるようにデータ型の略称を先頭に付けることで可読性が高くなります。
例:dtmHireDate