前回は「Select~Case」の処理について紹介しました。
最初に提示した「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つの条件に合致した時にその条件に用意された処理を行うというコードでしたが次は複数の条件に合致しないと実行されない処理(例えば〇〇部+男性社員等)のように条件を重ねて指定出来るコードを紹介します。