Excelを勉強しましょう EnjoyExcel

アイコンの機能や関数の説明、VBA初心者向けの勉強方法について情報掲載しています。関数、VBAともに理解が進むように出来るだけ事例を交えて説明しています。

③条件分岐 ElseIf

f:id:EnjoyExcel:20210906113523p:plain

 

前回は「Select~Case」の処理について紹介しました。

 

enjoyexcel.hatenablog.com

 

最初に提示した「IF~Then」より色んな挨拶に対して対応出来るようになりましたが提示した条件以外の挨拶があった際には処理をスルーしてしまうというコードでした。

 

近年は無言の人に率先して挨拶していくと煙たがられたりするので「無言の人には無言で」という事でも良いと思いますがどんな挨拶でも挨拶いただいた際は何か返しが欲しいですよね。

 

「想定してない挨拶が来た時には全部この返しで行きます」という受け皿を1つ作ってあげると良いのではと思います。

 

というわけで今回は「ElseIf」というコードを使った処理を紹介します。

 

毎度ですがまずは型(フォーマット)を見てください。

 

IF 条件が「AA」だったら Then

 条件「AA」向けの処理

ElseIf 条件が「BB」だったら Then

 条件「BB」向けの処理

ElseIf 条件が「CC」だったら Then

 条件「CC」向けの処理

ElseIf 条件が「DD」だったら Then

 条件「DD」向けの処理

Else 上記で提示した条件に全て当てはまらなかったら

 受け皿的回答を用意

End If

 

では今回も「日本語+コード」で表現してからコードを書いてみましょう。

 

IF セルA1の値が”おはようございます”だったら Then

 セル「A2」に”おはようございます”を入力

ElseIf セルA1の値が”こんにちは”だったら Then

 セル「A2」に”こんにちは”を入力

ElseIf セルA1の値が”こんばんは”だったら Then

 セル「A2」に”こんばんは”を入力

ElseIf セルA1の値が空欄だったら Then

 セル「A2」は空欄のまま

Else 上記で提示した条件に全て当てはまらなかったら

 セル「A2」に”ごきげんよう”を入力

End If

 

ではつぎはコードに変換します。

 

IF Range("A1") = "おはようございます" Then

 Range("A2") = "おはようございます"

ElseIf Range("A1") = "こんにちは" Then

 Range("A2") = "こんにちは"

ElseIf Range("A1") = "こんばんは" Then

 Range("A2") = "こんばんは"

ElseIf Range("A1") = "" Then

 Range("A2") = ""

Else 

 Range("A2") = "ごきげんよう"

End If

 

イメージは「If~Then」の分岐処理と「Select~Case」の複数条件提示の良いとこ取りみたいな感じです。

 

まず「If~Then」で一つ目の条件を提示し合致しなければ次の「ElseIf」に落ちていきます。最終的に提示した条件に引っ掛からない時は「Else」の処理が実行されます。

 

これで複数の挨拶に対して対応出来るようになったのと無言の人への無言対応(諸説有)、条件提示出来てない挨拶への返しが出来るようになりました。

 

今回は挨拶でコードを表現しましたが値であったり何らかの条件(文字や色)で処理を分ける事で色んな処理が出来ると思います。

 

では次が条件分岐としては最後の記事になります。今までは何か1つの条件に合致した時にその条件に用意された処理を行うというコードでしたが次は複数の条件に合致しないと実行されない処理(例えば〇〇部+男性社員等)のように条件を重ねて指定出来るコードを紹介します。