エクセルマクロの挫折しない勉強法や仕事で使いこなすコツを徹底解説!
講師の寺澤さんはこれまでの20年間マクロを使って様々な業務を効率化させるなど、数多くの社内表彰を受けてきました。例えば、数十万行の元データから分析用データを毎週作成する作業。人の手だと1週間かけても終わらない作業ですが、マクロを使うと30分程で完成してしまいます。さらに自ら社内講座も主催、全くマクロを触ったことがない数百人を指導し、満足度98%と人気を博しています。近著『4時間のエクセル仕事は20秒で終わる』では、そのエッセンスを余すところなく紹介しています。
本連載では、エクセルマクロを仕事で使うための本当に必要な知識だけを、できるだけわかりやすく説明していきます。

Photo: Adobe Stock

Ifの基本の使い方

前回に続いて、マクロで「If」を用いて条件によって作業を分岐させる方法を学びます。

If構文では条件を判定し、条件が成立した場合はThen以降の処理を実行します。条件が成立しなかった場合はElse 以降の処理を実行します。

If 条件 Then
 条件が成立した場合の処理
Else
 条件が成立しなかった場合の処理
End If

If構文は「End If」で閉じないとエラーになります。忘れずに書き入れてください。処理内容は行頭から1スペース分空けて書くことが多いです。これはマクロをわかりやすくするためです(空けなければエラーが出るわけではありません)。

Elseの後を「空白」と「Exit Sub」にする場合

条件が成立しなかった場合に、何も処理をさせずにマクロを進めたければElseの後を空白にしてEnd If を書きます。

If 条件 Then
 条件が成立した場合の処理
Else

End If

条件が成立しなかった場合に、マクロ自体を終了させたければElseの後に「Exit Sub」と書き、続けてEnd Ifを書いてください。Exit Subには今動いているマクロを終了させる意味があります。

If 条件 Then
 条件が成立した場合の処理
Else
 Exit Sub
End If

この2つの違いを図で示すと次のようになります。