Excel Microsoft VBA

条件分岐処理(If、Select Case)を極める!【VBA入門講座#8】

サブロー
こんにちは。サブローです。

『Microsoft Excel』(以下Excel、エクセル)の中の機能としてある[VBA] について基本的な説明をしていきます。

仕事の改善や個人的な知識向上に役立ててください(^o^)

第8回目の今回は

・VBAで条件分岐処理

について解説していきますので、よろしくお願いします。

前回までのVBAに関するINDEXは下記を参照してくださいね。

↓サブログ内部リンク(VBA用INDEX)↓

Excel VBA講座-目次(INDEX)

サブローExcel VBAに関する説明を今後増やして行く予定なので、各リンクに飛ぶような目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 目次(INDEX) 講座No内容 ...

続きを見る

条件分岐処理 ~If・・・Then・・・Else~

エクセルを使って操作する場合、色々な条件を判断しながら処理していきます。VBAでも同様で様々な条件を指定して、条件に一致するかどうかによって処理を分岐していくことができます。

<書式>

If 条件式 Then

処理内容①

Else

処理内容②

End if

<説明>
Ifのあとの条件式に合致していれば、処理内容①を実行、合致していなければ、処理内容②を実行します。なお条件に一致しない場合の処理が不要な場合、"Else"と”処理内容②”を省略することができます。

<コード記入例>

Sub 条件分岐1()

If Range("B2").Value >= 80 Then
Range("C2").Value = "合格"

Else
Range("C2").Value = "不合格"

End If

End Sub

 


 

条件分岐処理 ~If・・・Then・・・Elself・・・Else~

複数の条件を指定して、処理内容を分岐する際に使用します。条件を判定する順番通りに条件を指定しながら処理内容を記述していきます。条件ごとに比較対象の変更ができます。

<書式>

If 条件式① Then

処理内容①

ElseIf 条件式②

処理内容②

ElseIf 条件式③

処理内容③




Else

処理内容④

End if

<説明>
Ifのあとに最初に条件式①で判定します。この条件に合致する場合は、処理内容①を実行します。条件式①に合致しない場合は、条件式②で判定します。この条件に合致する場合は、処理内容②を実行します。条件式②に合致しない場合は、条件式③で判定します。この条件に合致する場合は、処理内容③を実行します。条件式①に合致しない場合は、処理内容④を実行します。なお、どの条件にも合わない処理を書く必要がない場合は、"Else"と処理内容④は省略することができます。

<コード記入例>

Sub 条件分岐2()

If Range("B2").Value >= 80 Then
Range("C2").Value = "A判定

ElseIf Range("B2").Value >= 60 Then
Range("C2").Value = "B判定"

ElseIf Range("B2").Value >= 40 Then
Range("C2").Value = "C判定"

Else
Range("C2").Value = "D判定"

End If

End Sub

 

 



条件分岐処理 ~Select Case~

Select Caseステートメントも複数条件判定が可能ですが、If・・・Then・・・ElseIsとは違い、条件の比較対象を途中で変更することはできません。

<書式>

Select Case 条件の比較対象

Case 条件式①

処理内容①

Case 条件式②

処理内容②



Case Else

処理内容③

End Select

<説明>

Select Caseのあとに条件の比較対象を記載します。指定した対象とCaseのあとに指定した内容を比較して、処理内容を分岐します。条件式①に合う場合は処理内容①を実行、合わない場合は条件式②に合うか判定し、合致する場合は処理内容②を実行、どちらも合わない場合は、処理内容③を実行します。

<コード記入例>

Sub 条件分岐3()

Select Case Range("B2").Value

Case Is >= 80
Range("C2").Value = "A判定"

Case Is >= 60
Range("C2").Value = "B判定"

Case Is >= 40
Range("C2").Value = "C判定"

Case Else
Range("C2").Value = "D判定"

End Select

End Sub

条件式に関しては、範囲や文字、複数の値を指定できます。

a)   Case "合格" ⇒ 条件の対象が"合格"の場合を指定しています。

b) Case 85 ⇒ 条件の対象が"5"の場合を指定しています。

c) Case 60,70,80 ⇒ 条件の対象が、"60"、"70"、"80"の場合を指定しています。複数ある場合は間にカンマを入れます。

d) Case 60 to 80 ⇒ 条件の対象が”60"以上で"80"以下の場合を指定しています。

e) Case Is>60 ⇒ 条件の対象が"60"以上である場合を指定しています。



《前回の復習~入門講座#7~》
『MsgBox』関数の使い方【VBA入門講座#7】

サブロー
それでは、今回はここまで。最後までお読みいただきありがとうございました!

2020年3月31日公開



~INDEX一覧~

エクセル関数の勉強 1

サブローエクセル/Excel関数の一覧にしています。本ブログ内で記事にしているものは、講座の列にリンク付けを随時行います(^o^) ※使用頻度のランクに関しては、個人的な主観でランク付けをしています。 ...

2

サブロー危険物取扱者試験 乙4種対策講座の目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 【目次/INDEX】 講座ID分類内容リンク 1共通#1『危険物取扱者試験』の ...

3

サブローQC(品質管理)検定に関する説明が増やして行く予定なのでリンクに飛ぶような目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 モグゾー対象級を記載していますが、あく ...

4

サブローExcel VBAに関する説明を今後増やして行く予定なので、各リンクに飛ぶような目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 目次(INDEX) 講座No内容 ...

-Excel, Microsoft, VBA
-, , ,

Copyright© サブログ , 2020 All Rights Reserved Powered by AFFINGER5.