【Excel】【VBA】インデントの重要性

IT

ExcelでのVBAマクロを使えるようになると、人の手要らずでの計算やファイル作成が可能になります。

この記事では、インデントの重要性について紹介します。

インデントとは

インデントとは何かを紹介します。

まず、「indent」という英語の意味を紹介します。

「ギザギザをつける。」「のこぎり刃のようにする。」「へこませる。」という意味になります。

プログラミングでのインデントとは、「特定の行の開始位置を変える」という意味です。

プログラミングでのインデントは非常に重要です。

プログラミングのコードが複雑化すればするほど、このインデントの重要性が高くなります。

インデントによって、プログラミングの処理のカタマリを認識することができます。

インデントをつけないプログラムは読みにくい

ここで、インデントをつけないプログラムの例を見てみましょう。

下記は、i、j、kが1から9までの値をとるとき、3つの数字の商が125になる場合、何回繰り返し処理を行ったかを求めるプログラムです。

Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim tmp As Long
Dim count As Integer

count = 0

For i = 1 To 9
For j = 1 To 9
For k = 1 To 9
tmp = i * j
tmp = tmp * k
count = count + 1
If tmp = 125 Then
i = 9
j = 9
Exit For
End If
Next k
Next j
Next i

MsgBox (count)

このようなプログラミングは読みにくいものとなっています。

for文が3つあり、入れ子構造となっています。さらにif文でのexit for処理があります。

上記のような記載だと、どのfor文からexitするかを判断しにくく、可読性が低いプログラムとなります。

インデントをつけることによる効果

前述した例を用いて、インデントをつけたプログラムを記載してみます。

下記は、i、j、kが1から9までの値をとるとき、3つの数字の商が125になる場合、何回繰り返し処理を行ったかを求めるプログラムです。

Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim tmp As Long
Dim count As Integer

count = 0

For i = 1 To 9
    For j = 1 To 9
        For k = 1 To 9
            tmp = i * j
            tmp = tmp * k
            count = count + 1
            If tmp = 125 Then
                i = 9
                j = 9
                Exit For
            End If
        Next k
    Next j
Next i

MsgBox (count)

どうでしょうか。

インデント、つまり行の開始位置をずらすことで各処理をカタマリで視覚的に捉えるとができます。

・1つ目のfor文処理のカタマリ

・2つ目のfor文処理のカタマリ

・3つ目のfor文処理のカタマリ

・if文処理のカタマリ

今回は3つ目のfor文処理に抜け出し処理(exit for)がありますが、こういった処理が他のfor文処理に入ってきても、インデントをつけていれば、どこのfor文処理で抜け出し処理がされるか分かりやすくなります。

以下にインデントをつけることのメリットを記載します。

メリット

・可読性が高くなる。後から読む人にとって親切なプログラムになる。

・プログラム作成のときに、処理をカタマリで捉えることができ、頭を整理することができる。

・プログラム実行エラーの時に、エラー原因の特定がしやすい。

まとめ

プログラム作成時のインデントについて、紹介しました。

インデントをつけることで、視覚的に分かりやすくなり、他の人がプログラムを見ても分かりやすい記載になります。

プログラムを記載するときは、のちの保守メンテナンス時を考慮して、可読性が高いことが重要です。

インデントをつける癖を最初のころからつけておきましょう。

可読性の高いプログラム作成を目指して頑張りましょう。

コメント

タイトルとURLをコピーしました