VBAコードを「見やすくきれいに」書くためのコツ【5つ紹介】

VBAコードを見やすく書くには5つのコツがある。

この5つのコツを実践すれば「見やすくきれいな」コードを書けるようになるのは必然的。

さて、さっそくそのコツを話していこう。

VBAをきれいに書く5つのコツ

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

1. インデントと改行をつける

必ずインデントと改行をつけよう。

インデントと改行をつけることで「どこまでがなんの処理をしてるか」分かりやすくするため。

インデントとは、文章の行頭に空白を挿入して先頭の文字を右に押しやること

たとえば、下記のコード。

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つ目のほうが見やすいはず。

関連記事【解説つき】VBAでインデントするときのルール教えます【迷わない】

2. Subは30行以内にする

Sub内に入れるコードは30行以内にしよう。

30行をこえるとコードがぐちゃぐちゃになって理解できなくなる

コツは1つのSubに1つの処理を書くこと

たとえば、給与計算したい場合。

次のように処理を分けると30行以内に...

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

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."

4. 変数名は意味が分かるようにする

変換名は分かりやすく理解しやすい名前をつけよう。

変数名を分かりにくくすることは、100年かかってもとけない暗号を解読することと同じ

たとえば、次の変数。どんな意味でつけてるか分かるだろうか。

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

これだったら、ぱっと見で分かるよね。

同じ数字がでてきても、判断できるから間違えることがない。

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

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

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

関連記事VBAモジュールを分ける意味はたった1つです【具体例あり】

まとめ: 実践して見やすくきれいなコードを書いてみよう

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

この5つのルールでやれば、VBAで見やすいきれいなコードが書ける手助けになるのは間違いない。

ただ、最初に言ったように「実践すれば」の話。

もっと見やすくきれいなコードを極めたいならリーダブルコードを読むといい。理解が深まる。読んで損はない1冊だ。

今回はここまで。

・もっとVBA学びたい人向け記事↓

関連キーワード