itLinkedInPocketLINELINECopyIF文を使わない条件分岐方法がスッキリ理解できます!Excelマクロ(VBA)の条件分岐式はIf文だけではありません。Case文を使用することが可能です。画像多めでわかりやすく説明します。5分で全てを理解できる記事をサンプルプログラム多めで記載しますので最後までお付き合いください!では確認してみましょう。プログラムを覚える上で条件分岐の習得は必須です。Excelマクロ(VBA)でIf文が使われてないプログラムはありません。Case文の特徴を確認していきます。If文と比べると記載方法が変わります。条件式を使用するところと条件式に一致した場合にステートメント(Select文)の中から抜けることは一緒です詳しく確認していきましょう。Case文を使用すると条件分岐がわかりやすく記載できます。Case文を使用するとスッキリ記載することができます。Case文は条件分岐が大量にある場合よく使用されます。同じ処理をIf文を使用した場合とSelectCase文を使用した場合で比べてみましょうIf文の記事で紹介した内容をサンプルプログラムとします。if文を使用した場合If文の説明通りのプログラムです。6行目から14行目までがIf文です。If文が使用されていることを確認してみてください。Case文を使用して記載したものです。Case文を使用していることを確認してみてください。Sub点数によって処理が変わるプログラムですが、If文と比べて点数の条件式が記載されている列がほぼ同じ場所にあることがわかります。ここではちょっと見やすいかなー?ぐらいに考えてもらえれば良いかなと思います。Case文の長所を考えてみましょうIf文と比べた場合の長所です条件が大量にある場合ソースコードが見やすい条件分1行の文字量が少なくなるサンプルプログラムで確認した通り、条件式が同じ列にあるためソースコードが見やすくなります。条件分の文字量が少なくなります。これは都度「Then」を入力する必要がなくなるからです。Case文の短所を考えてみましょうIf文と比べた場合の短所です。条件のパターンが少ししかない場合はソースコードが長くなってしまう条件式の入力に制限がある条件のパターンが少ない場合はソースコードが長くなってしまうためIf文を使用することをおすすめします。同じ変数に対する条件しか入力できません。OrやAndを指示することができません。厳密には指示はできますが予想通りの結果を受け取ることができないようです。よってOrやAndは使用しないようにしましょう。条件式の入力に幅を広げたい場合はIf文をするべきでしょう。Case文の使用方法を確認していきます。基本的な使用構文と条件式の入力方法を確認します。Case文を使用する際の構文です。Select」は定型なのでSelect等が出てきたら本構文であることを理解してください。変数に対する条件によって実行される処理が変わります。条件1に合致した場合処理1が実行されるそれ以外で条件2に合致した場合は処理2が実行される条件1にも条件2にも合致しない場合は処理3が実行されるなお、条件2以降の条件は省略可能です。Elseも省略したい場合は省略することが可能です。Case文で使用できる条件式SelectCase文で使用できる条件式について確認してみましょう。Case文のテストプログラムです。If文で出した例に少し条件式を増やして記載してみました。Subテストプログラムの内容です。Case文を使用する方がわかりやすくソースコードを書くことができます。Case文を使用した場合には注意点があります。条件式が上から判定されていく上の条件式に合致した場合はSelectステートメントから処理が抜ける図で説明したいと思います。テストの点数によって処理を変化させるプログラムの条件式を少し変更させてみました。例のテストの点数は90点を代入しました。ここで問題点が発生します。条件2と条件3の両方に条件が一致します。二つの条件に合致する場合はプログラムの上に記載している条件から順に判定され、尚且つ上に一致した場合はそれ以降の条件は処理されません。今回の結果では処理2だけが実行されることになります。説明した注意点を意識しながらプログラムを作成しない場合、意図しない処理結果を返すプログラムになってしまいます。Case文を使用する場合は注意しながらプログラムを作成するようにしましょう。まとめいかがだったでしょう。Case文の使用方法を確認してきました。同じ条件分岐式としてIf文との比較を理解した上で使い分けることが必要です。case文を使用することでスッキリしたソースコードを作成することが可能です。Case文を使用してみて使用方法に慣れてみてくださいね。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。ブログ管理者たけのこさんIT系企業でサラリーマンをしています。本業とは別に会社で行った業務効率化内容や自宅でのプログラミングを記事にします。