VBAできれいにコードを書くには、5つのルールがある。

コードを見直すときも、修正しやすく他人から見ても『きれいなコード書くんだね』なんて褒められることが多くなるよ。
今回はVBAできれいなコードを書く5つのルールを話していこう。

VBAをきれいに書く5つのルール

  1. インデントをつける
  2. Subは30行以内にする
  3. 1行は80文字までにする
  4. 変数名は意味が分かるようにする
  5. 1つのモジュール内に色々詰め込まない

Rule #1-- インデントをつける

まず、インデント(段落)をつけよう。
これは、どこまでがなんの処理をしてるか分かりやすくするため。

たとえば、下記のA1とB1セルにHelloWorldを表示させるコードを見てみようか。

Sub HelloWorld()
If Range("A1") = "" Then
Range("A1") = "Hello"
Range("B1") = "World"
End If
End Sub

それと、もう1パターンのVBAコードを見てみよう。

Sub HelloWorld()
    
    If Range("A1") = "" Then
        Range("A1") = "Hello"
        Range("B1") = "World"
    End If

End Sub

あきらかに、2つ目のほうが見やすいよね。
『tabキー』で大丈夫だから、インデントを付けてみよう。

IfやFor文がでてきたときにインデントを使うこと。

Rule #2-- Subは30行以内にする

Sub内に入れるコードは30行以内にしよう。
長すぎるコードだと、コードがぐちゃぐちゃになって分かりにくいコードになるから。

「いつも、長すぎるコードになっちゃうんだけど...」って場合は処理を分けることから始めること。

たとえば、給料計算をしたい場合。
勤務時間を入力して~月の給料を計算まで全て1つのSubだと分かりにくい。

下記のように処理を分けると、30行以内で分かりやすいコードが書けるよ。

  1. 勤務時間の入力
  2. 定時時間の計算
  3. 残業時間の計算
  4. 休日出勤の計算
  5. 計算時間をお金に変換
  6. 給料を合計して月の給料を決定

Rule #3-- 1行は80文字までにする

1行は80行以内におさめよう。
これは、横にスクロールしてるとコードが読みにくいから。

他のプログラミング言語でも大体80文字のルールがあるから気を付けて。

「80文字以上になっちゃうんだけど...」って場合、『_』と『&』を使って改行しよう。
『_』の前に半角の空白を入れて、『&』は次の行一番前にもってくること。

Range("A1") = "Lorem ipsum dolor sit amet, consectetur adipisicing elit," _
              & "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." _
              & "Quis nostrud exercitation ullamco laboris commodo consequat."

Rule #4-- 変数名は意味が分かるようにする

変換名は分かりやすい名前をつけよう。
これは、あとでなんの処理をしてるか分からなくなるから。

たとえば、下記のコード、なにを示しているか分かるだろうか。

Dim A as Long
Dim B as Long
Dim C as Long
Dim D as Long

A = 20
B = 30
C = 1.10
D = 20

分からないよね(笑)
じゃあ、下記コードを見てみよう。

Dim age as Long
Dim minute as Long
Dim tax as Long
Dim year as Long

age = 20
minute = 30
tax = 1.10
year = 20

これだったら、ぱっと見で分かるよね。
同じ数字がでてきても、判断できるから間違えることがない。

Rule #5-- 1つのモジュール内に色々詰め込まない

1つのモジュールには、色々な処理を詰め込まない

たとえば、さっきの給料計算の処理とデータを加工する処理、新しいSheetを一気に作る処理みたいな処理を全て1つのモジュールに入れないで処理ごとにモジュールを作ること。

モジュールを分けることで、あとで使いまわしができるから、やっておいて損はない。

修正しやすいVBAコードを書こう

  1. インデントをつける
  2. Subは30行以内にする
  3. 1行は80文字までにする
  4. 変数名は意味が分かるようにする
  5. 1つのモジュール内に色々詰め込まない

この5つのルールでやれば、VBAで全然違うきれいなコードが書けるようになる
あなたも、『コードがきれいで見やすいね!』なんて褒められちゃうかも。

人気記事【必読】"見やすく修正しやすいコード"につながる本『リーダブルコード』

関連キーワード