注目キーワード
  1. VBA
  2. 関数
  3. ショートカット

ExcelVBAで条件分岐を学ぼう③

  • 2019年3月22日
  • 2019年3月23日
  • VBA
  • 40回
  • 0件
VBA NO IMAGE

①値に応じて複数の条件分岐を行う

分岐させたい処理の選択肢が多い場合は、Ifステートメントの代わりに「Select Case」ステートメントを使う方法もあります。このステートメントは、最初に判定対象の値を指定し、それに対する複数の条件とそれぞれの処理をブロック形式で分割して指定します。

・値に対して複数の条件分岐を行う

Select Caseステートメントは、「Select Case~」の行で始まり、「End Select」の行で終わるブロック形式のステートメントです。先頭行では「Select Case」に続けて判定したい値を指定し、以下の行では「Case」の後にその値を対象とする条件式を指定します。そして上から順に判定を行い、条件を満たすCaseブロック内の処理が実行されます。

・実行結果

・さまざまな方法で値を判定する

Select Caseステートメントで「Case」の後に判定の条件を指定するときに値そのもの以外にさまざまな判定方法が使用できます。

①判定対象の値を表す「Is」キーワードを利用して比較を行う方法

②2つの値を「To」キーワードでつないでその範囲内か判定する方法

③複数の値を「,」でつないで指定する方法

④それ以前に指定したすべての条件に当てはまらない場合に実行する操作を「Else」キーワードで指定する方法

以上の4つの判定方法も使用できます。

・実行結果

②文字列をパターンで判定する

判定対象のデータが文字列の場合「Like」演算子を使用して、指定して文字列のパターンに該当するかどうかを判定できます。たとえば、特定の材料を含む商品名や、特定の文字と数字の組み合わせのパターンなどを判定することが可能です。

・特定のワードを含む文字列を判定する

文字列パターンを判定するには、対象の文字列に続けて「Like」比較演算子を指定し、その後に文字列パターンを指定します。対象の文字列が文字列パターンにマッチすればTrue、そうでなければFalseが返されます。

・実行結果

たとえば「*」という記号は「0文字以上の任意の文字列」を表します。対象の文字列に「カレー」が含まれているかどうかを調べたい場合は「カレー」の前後に「*」を指定すれば可能です。

・特定の文字と数字の組み合わせを判定する

次の例では、対象の商品コードが「AB」で始まり、その後に任意の3桁の数字と任意の1文字が続く形かどうかを判定しています。この場合は「任意の数字1文字」を表す「#」と、「任意の1文字」を表す「?」を利用します。

・実行結果

NO IMAGE
最新情報をチェックしよう!