【脱・エラー地獄】If文の入れ子(ネスト)で迷子にならない!「階段ルール」

【業務効率化】VBA
スポンサーリンク

この記事で解決する悩み

  • If文の中にIf文が入ると、どことどこがペアなのかわからなくなる。
  • 「End Ifがない」などのエラー頻発で、プログラミングが嫌になりかけている。
  • 他人のコード(または過去の自分のコード)が読み解けない。

こんにちは!ぐーです。

いつもブログをご覧いただき、ありがとうございます!

今日は、プログラミングやExcel VBAを学び始めたばかりのあなたが、きっと一度は抱える悩み。「If文、ごちゃごちゃしすぎて訳がわからない問題」についてお話しします。

「自分には向いてないのかな…」なんて落ち込む必要は全くありません。それは単に「整理整頓のルール」を知らなかっただけなんです。

書類をファイリングするように、コードも「見た目」を整えるだけで、驚くほどミスが減ります。

今回は、そのためのテクニック、「インデント」について解説します。

【業務効率化】VBAの記事を見る

インデントって何?

インデントとは、行の先頭に空白を入れて、文字の開始位置を右にずらすこと(字下げ)です。

これをやる理由はたった一つ。「誰の仲間か」をひと目でわかるようにするためです。

特に条件分岐(If文)の中にさらにIf文が入る「ネスト(入れ子)」構造の時、このインデントがないと、ベテランでも解読に苦しみます。

魔法の「階段ルール」

ルールは簡単です。「Ifで始まったら、一段(スペース2つ〜4つ分)下がる。終わったら元に戻る」。これだけです。

これだけで、コードが綺麗な「階段」のようになり、構造がクリアになります。

【悪い例】インデントがないコード

まずは、ダメな例を見てみましょう。全部左に寄っていて、どこで区切れているか分かりにくいですよね。これだと、修正するときに間違いなくミスをします。

' VBAの例:読みにくい...
Sub CheckSalesBad()
Dim Sales As Long
Sales = 10000
If Sales >= 5000 Then
If Sales >= 10000 Then
MsgBox "素晴らしい成績です!"
Else
MsgBox "目標達成です!"
End If
Else
MsgBox "もう少し頑張りましょう"
End If
End Sub

【良い例】インデントがあるコード

次に、同じコードにインデントをつけてみましょう。

' VBAの例:スッキリ!
Sub CheckSalesGood()
    Dim Sales As Long
    Sales = 10000

    ' 1つ目の条件:5000以上か?
    If Sales >= 5000 Then
       
        ' 2つ目の条件(入れ子):さらに10000以上か?
        If Sales >= 10000 Then
            MsgBox "素晴らしい成績です!" ' ここが一番深い階層
        Else
            MsgBox "目標達成です!"
        End If
       
    Else
        MsgBox "もう少し頑張りましょう"
    End If
End Sub

いかがですか?

If と End If の縦のラインが揃っているので、どこからどこまでが一つのブロックなのか一目瞭然です。

Pythonも学ぶ人へ:インデントは「義務」

もしあなたがPythonも勉強しているなら、インデントは「見やすさ」のためだけでなく、動かすための絶対ルールになります。

Pythonの公式スタイルガイド(PEP 8)では、「インデントにはスペース4つを使用すること」が推奨されています。

Pythonではインデントがズレているだけでエラーになり、プログラムが動きません。

最初は苦戦するかもしれませんが、これは「誰が書いても読みやすいコードになる」というメリットもあります。

まとめ:美しいコードは、心も守る

  • ルール: Ifの中身は必ず字下げ(スペースまたはTab)をする。
  • メリット: エラー箇所がすぐわかる。後で見返しても意味がわかる。

最初は面倒に感じるかもしれませんが、これを習慣にするだけで、コードを読む時間もエラーを探す時間も3割ほど減ります(私の体感値です)。

綺麗に整ったコードが書けると、「私、エンジニアっぽい!」と自己肯定感も上がります。まずは形から入るのも、立派な上達の近道だと私は思います。

せっかく勉強するなら楽しんで進めていきましょう!

【業務効率化】VBAの記事を見る


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を厳選して紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

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