VBAコードを見やすく書くには5つのコツがある。
この5つのコツを実践すれば「見やすくきれいな」コードを書けるようになるのは必然的。
さて、さっそくそのコツを話していこう。
VBAをきれいに書く5つのコツ
- インデントと改行をつける
- Subは30行以内にする
- 1行は80文字までにする
- 変数名は意味が分かるようにする
- 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行をこえるとコードがぐちゃぐちゃになって理解できなくなる。
たとえば、給与計算したい場合。
次のように処理を分けると30行以内に...
- 勤務時間の入力
- 定時時間の計算
- 残業時間の計算
- 休日出勤の計算
- 計算時間をお金に変換
- 給料を合計して月の給料を決定
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つ【具体例あり】
まとめ: 実践して見やすくきれいなコードを書いてみよう
- インデントと改行をつける
- Subは30行以内にする
- 1行は80文字までにする
- 変数名は意味が分かるようにする
- 1つのモジュール内に色々詰め込まない
この5つのルールでやれば、VBAで見やすいきれいなコードが書ける手助けになるのは間違いない。
ただ、最初に言ったように「実践すれば」の話。
もっと見やすくきれいなコードを極めたいなら【保存版】VBAコードのきれいな書きかたをここにすべて記す【まとめ】を読むといい。
今回はここまで。