ExcelVBAで開発:命名規則について

ExcelVBA命名規則についてアイキャッチ

こんにちは!大阪市住之江区に拠点を置く会社『縁紡ぐ』の稲垣です。

当社は、Excel、ACCESS、RPAなどのシステム開発や既存ツールを使った業務効率化の提案、また、ITスキルアップのための教育に力を入れています。効率的なビジネス運営を目指している企業様、ITスキルの向上を図りたい企業や個人の方に、最適なご提案をさせていただきます。業務プロセスの改善とITスキルアップをサポートし、共に成長するパートナーでありたいと考えています。

ExcelVBAで開発:命名規則について

ExcelのVBAでプログラムを書くときに、大切なのは、変数やプロシージャなどに名前を付けるときにルールを決め、効率的で読みやすいコードを書くために重要です。

目次

命名規則

まずは、VBAに限らず一般的なルールを紹介します。

一般的なルール

意味のある名前を使用する

名前からその用途や内容が分かるようにすること

'OK
Dim userName as String
Dim userAge as Integer

'NG
Dim a as String
Dim data as String
省略形を避ける

言葉を省力せずに可能な限り内容がわかるような名前をつけること

’OK
Dim speed as Integer

'NG
Dim spd as Integer
数字で始めない

名前は必ず数字で始めずアルファベットや日本語で始めること

’OK
Dim count as Integer

'NG
Dim 1count as Integer

変数名規則

キャメルケースまたはスネークケース(キャメルケースがおすすめ)

複数の単語を含む名前を作成する

'キャメルケース
Dim userFirstName as String

'スネークケース
Dim user_first_name as String
ハンガリアン記法(使わない人も多い)

変数の型を示す短い接頭辞をつける

Dim strName as String
Dim lngTotal as Long

関数とプロシージャ

関数とプロシージャは、プログラミングでいうとメソッドになります。

メソッドは『振る舞い』ということで、動詞をつけて命名します。小文字で始めるのが習慣的です。

'関数の場合
Function getFullName() as String
  '処理
End Function
'プロシージャ
Sub mainProcess()
  '処理
end Sub

動詞の例

get値を取り出す
set値を入れる
clearクリアする
update更新する
delete削除する
add追加する
insert挿入する
make作成する
opne開く
close閉じる
print印刷する

定数

定数は、すべて大文字で名づけることが一般的です。

Public Const MAX_ROWS as Integer

すべて大文字の変数は、定数だということがすぐにわかるのでとっても便利です。

モジュール名(オブジェクト名)

モジュール名は、大文字ではじめるようにしましょう。

クラス名

クラス名は、先頭文字は大文字にします。

フォームの名前

フォームの名前は、大文字からはじめましょう。

フォームオブジェクト

フォームで使う各入力オブジェクト

Excelのフォームには、ラベルやテキストボックスなど画面を作成するためのオブジェクトが用意されています。これらの命名につていは、列挙型(txtFirstName)で行うことが多いです。

絶対にしなければならないということでは、ありません。この方法は、VB6.0以前は推奨されていた方法です。

オブジェクト名プリフィックス利用例
フォームfrmfrmEntry
ラベルlbllblFullName
テキストボックスtxttxtFirstName
コンボボックスcbocboAge
リストボックスlstlstAiifiatedDepartment
チェックボックスchkchkLanguage
オプションボタンoptoptGender
トグルボタンtgrtgrLanguage
フレームfrafraEntry
コマンドボタンcmdcmdExit
タブストリップtabtabCareer
垂直スクロールバーvsbvsbCareer
スピンボタンspnspnPage
イメージimgimgFace

省略をしないこと

命名規則と同じく大切なことは、省略してプログラムを書かないことです。

例えば、

call getName

ほかのモジュールのプロシージャを呼び出すことができますが、どのモジュールに書いてあるのかがわかりません。

必ず、モジュール名+プロシージャ名(関数名)で呼び出すようにしましょう。

Call Account.getName

日本語を使うことについて

モジュール名や変数名、各メソッドなどに日本語を使うか使わないかについては、VBAの場合は、使用していいと思います。様々な意見があると思いますが。。。

ACCESSやExcelでは、よく日本語を使っているコードを見ます。ごちゃ混ぜになっているものも多い印象です。

日本語を使うと命名規則で、最初の文字を大文字や小文字ではじめるといった規則は、使えなくなりますので注意が必要です。

記事を書いた人

稲垣

  • Excel、ACCESSでのシステム開発が得意
  • ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
  • 自家焙煎するほどのコーヒー好き
  • 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
  • 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
  • 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
  • お客様にとって本当に良いことかを第一に考える人
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次