Excel VBA関数の命名規則まとめ!処理内容がわかる名前の付け方を詳しく解説
生徒
「VBAでプログラムを書いているのですが、関数の名前にいつも迷ってしまいます。適当に『処理1』とか『関数A』って付けても大丈夫ですか?」
先生
「自分一人で使う場合でも、後から見返した時に何をする関数か分からなくなるので、おすすめしません。プログラミングには『命名規則(めいめいきそく)』という、分かりやすい名前を付けるためのルールがあるんですよ。」
生徒
「メイメイキソク……。名前の付け方にも決まりがあるんですね。パソコンに詳しくない私でも、すぐに覚えられるルールでしょうか?」
先生
「はい、基本はとてもシンプルです!誰が見ても中身が想像できるような名前を付けるコツを、一緒に学んでいきましょう。」
1. 命名規則(めいめいきそく)とは?
Excel VBAでプログラミングをする際、自分で作った処理のまとまりに名前を付けます。これをプログラミング用語で命名(めいめい)と言い、その時のルールのことを命名規則(めいめいきそく)と呼びます。
例えば、料理の作り置きをして冷凍保存するとき、タッパーに「おかず」とだけ書いてあったら、中身が肉じゃがなのかカレーなのか分かりませんよね。それと同じで、VBAでも「処理」という名前ではなく、「消費税を計算する」「データを消去する」といった具体的な中身がわかる名前を付ける必要があります。これにより、エラーが起きたときや修正したいときに、どこを直せばいいかすぐに判断できるようになります。
2. VBAで使える名前と使えない名前の基本ルール
名付けに入る前に、VBAというシステムが受け付けてくれない「禁止事項」を覚えましょう。これを知らないと、名前を付けた瞬間にエラーが出てパソコンが動かなくなってしまいます。
- 先頭に数字は使えない: 「1Check」などはダメです。「Check1」のように後ろに数字を置くのはOKです。
- 記号は使えない: 「@」や「#」、「!」などの記号は名前に使えません。ただし、アンダーバー「_」だけは特別に使えます。
- スペースは入れられない: 「Calc Price」のように間に空白を入れてはいけません。「CalcPrice」と繋げる必要があります。
- 予約語は使えない: 「Sub」や「If」、「End」など、VBAが最初から特別な意味で使っている言葉は、そのまま名前にすることはできません。
これらのルールを守りつつ、自分にとって分かりやすい名前を考えていくことになります。
3. 「動詞 + 名詞」で名前を付けるのが黄金ルール
関数の名前を考えるとき、最も一般的で分かりやすいのが「動詞 + 名詞」の形です。これは「~をする + ~を」という構成にする手法です。英語で考えるとスッキリまとまります。
例えば、以下のような組み合わせです。
- CalcPrice: 金額(Price)を計算(Calc)する
- CheckData: データ(Data)を確認(Check)する
- ClearSheet: シート(Sheet)を消去(Clear)する
このように、「何に対して」「何をするのか」を名前に盛り込むことで、コードを読んでいる途中でその関数が出てきても、わざわざ中身を確認しに行かなくて済むようになります。これが、スムーズにプログラミングを進めるための秘訣です。
4. 実践!計算処理に名前を付ける具体例
具体的なコードを見てみましょう。まずは、二つの数値を足して、その合計を返す関数の例です。ここでは「足し算をする(Add)」という意味を持たせています。
' 二つの数字を合計する関数。名前は「AddNumbers」にしました。
Function AddNumbers(num1 As Long, num2 As Long) As Long
AddNumbers = num1 + num2
End Function
' 実行して確認するためのプロシージャ
Sub TestAdd()
Dim result As Long
' 名前を見れば、数字を足す処理だとすぐにわかります
result = AddNumbers(100, 200)
MsgBox "合計は " & result & " です。"
End Sub
このように AddNumbers という名前にすることで、後で他の場所からこの関数を使いたいときに、「あ、あの足し算の道具だ」とすぐに思い出せます。
5. 読みやすくするための「キャメルケース」と「パスカルケース」
単語を繋げて名前を作るとき、全て小文字だと calcprice のように読みにくくなってしまいます。そこで、プログラミングの世界では大文字を混ぜて単語の区切りを分かりやすくします。VBAでよく使われるのはパスカルケースです。
- パスカルケース: 単語の頭文字をすべて大文字にする(例:CalcTaxRate, PrintReport)
- キャメルケース: 最初の単語だけ小文字で始め、次から大文字にする(例:unitPrice, inputName)
VBAでは、関数名やプロシージャ名には「パスカルケース」を使い、その中で使う小さな変数(データを一時的に入れる箱)には「キャメルケース」を使うのが一般的です。これに慣れると、コードを見ただけで「これは関数だな」「これは変数だな」と瞬時に判別できるようになります。
6. 実践!文字列処理に名前を付ける具体例
次は、文字を加工する関数の名前を考えてみましょう。例えば、「名字」と「名前」をくっつけて、最後に「様」を付け加える処理です。ここでは「名前を整える(FormatName)」という名前を付けてみます。
' 氏名を整形する関数。名前は「FormatFullName」にしました。
Function FormatFullName(lastName As String, firstName As String) As String
' 名字と名前の間にスペースを入れ、最後に「様」を付ける
FormatFullName = lastName & " " & firstName & " 様"
End Function
' 実行して確認するためのプロシージャ
Sub ShowUser()
Dim finalName As String
' 整形された名前を受け取る
finalName = FormatFullName("田中", "太郎")
MsgBox "宛名: " & finalName
End Sub
実行結果は以下のようになります。
宛名: 田中 太郎 様
FormatFullName という名前は、その関数の役割(フルネームの形式を整える)を完璧に説明しています。こうした名付けが、プログラムの品質を決めます。
7. よく使われる定番の「動詞」パーツ一覧
「英語なんて分からない!」という方も安心してください。VBAで使う動詞は、決まったいくつかのパターンを覚えるだけで十分です。以下のリストをメモしておくだけで、名付けに迷わなくなります。
| 動詞 | 意味 | 名前の例 |
|---|---|---|
| Get | 値を取得する、もらう | GetPrice, GetUserName |
| Set | 値を設定する、入れる | SetStatus, SetTargetDate |
| Is / Can | ~かどうかを判定する | IsNumber, CanOpenRecord |
| Show / Print | 画面に出す、印刷する | ShowMessage, PrintBill |
| Update | 最新の状態に更新する | UpdateList, UpdateTotal |
判定する関数に Is を使うと、結果が「YesかNoか」で返ってくることが一目でわかります。例えば IsFinished という名前なら、「終わったかどうか」を教えてくれる関数だと分かりますよね。これはパソコン初心者でも非常に理解しやすいルールです。
8. 実践!判定を行う関数の名前付け
先ほどの Is を使った判定関数の例を作ってみましょう。数値を受け取って、それが100以上かどうかをチェックする関数です。名前は IsOverHundred(100を超えているか)とします。
' 100以上かどうかを判定する関数
Function IsOverHundred(score As Long) As Boolean
' 条件が合っていれば True、そうでなければ False を返す
If score >= 100 Then
IsOverHundred = True
Else
IsOverHundred = False
End If
End Function
Sub CheckScore()
Dim myScore As Long
myScore = 120
' Isで始まる名前なので、YesかNoかが返ってくると推測できます
If IsOverHundred(myScore) Then
MsgBox "合格ラインを超えています!"
End If
End Sub
9. 避けるべき「悪い名前」の典型例
名前を付けるときに、ついついやってしまいがちだけど「絶対に避けるべき」なのが、以下のパターンです。
- 短すぎる名前:
f1(),proc()など。後で読んでも、何をするためのものか全く分かりません。 - 嘘をつく名前:
CalcTotalという名前なのに、中でメッセージを表示するだけで計算をしていなかったりすると、他の人が混乱します。名前と中身は必ず一致させましょう。 - 日本語を混ぜる:
計算する関数()。VBAでは日本語も名前に使えますが、環境によっては文字化けして動かなくなるリスクがあるため、基本的にはアルファベットで書くのが安全です。
「自分さえ分かればいい」と思わず、誰にでも親切な名前を付けることが、プログラミングの上達への近道です。
10. 名付けを楽しみながらプログラミングしよう
関数の命名は、いわばプログラムという物語の登場人物に名前を付ける作業です。最初は難しく感じるかもしれませんが、パターンを覚えてしまえばパズルを解くように楽しくなります。自分が作った「GetMoney」や「CheckResult」という名前の関数が、自分の意図した通りに動いたとき、あなたはただのExcelユーザーではなく、立派な開発者への道を歩んでいます。
パソコンの操作に自信がない方でも、この「言葉選び」のセンスさえ磨けば、間違いの少ない、綺麗なコードが書けるようになります。まずは身近な計算や処理に、かっこよくて分かりやすい名前を付けることから始めてみてください。あなたのマクロが、もっと見やすく、もっと便利に進化していくはずです!