【Excel VBA】If Elseとは違う条件式(Select Case)について
エンジニアのIMMRです。Excel VBAの条件式には、以前に説明したExcel VBA 条件式(If Else)とこれから説明するSelect Caseの二つあります。1.従来のIf Else条件式If Elseは条件に合った時は処理Aを、条件に合わなかったら処理Bを実行します。では、下記のようなデータがあり、複数の条件があるとします。If Elseを使用して作成すると2種類の方法が浮かぶと思
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
初めまして、エンジニアのIMMRです。
下記のデータに記載してある日付が何曜日なのかを調べたいことがあると思います。
図1 ブック(日付が入力してあるもの)
日付から曜日の確認は以前にWeekdayNameを使って確認が出来ると説明しました。
ここでは、セルの書式設定を変更して日付から曜日を確認する方法を説明します。
セルに入力されている日付から曜日を確認する方法は、
いくつかありますがここでは、書式設定からセルに入力されている日付を曜日に変換して確認する方法を説明します。
日付の記載してあるセルの横に曜日を表示したい場合、日付をそのままコピーします。
※コピーしなくても出来ますが、書式変更前の日付を残すために下記方法で行います。
図2 ブック(A2をB2にコピー後)
そして、そのコピーしたセルに対して、「セルの書式設定」を行って、書式設定を変更する方法です。
図3 セルの書式設定
セルに入力されている日付から書式設定を変更して曜日を確認するには、
以下の関数で行うことが出来ます。
表示するといってもいくつか表示方法があります。金なのか、金曜日なのか、Fridayなのか等
これは設定値を変更して行います。
Range(””).NumberFormatLocal = 設定値
設定値は、下表の通りになります。
図4 セルの書式設定の設定値一覧
書式設定からセルに入力されている日付を曜日に変換する方法のサンプルコードは以下のとおりです。
図5 ブック(A2をB2~B5にコピー後)
セルB2の書式を変更して、2019/9/13 を 金 に変換します。
Range("B2").NumberFormatLocal = "aaa"
セルB3の書式を変更して、2019/9/13 を 金曜日 に変換します。
Range("B3").NumberFormatLocal = "aaaa"
セルB4の書式を変更して、2019/9/13 を Fri に変換します。
Range("B4").NumberFormatLocal = "ddd"
セルB5の書式を変更して、2019/9/13 を Friday に変換します。
Range("B5").NumberFormatLocal = "dddd"
では、実際にセルに入力されている日付から書式設定を変更して曜日を確認されるか確認していきます。
図6 ブック(A2をB2~B5にコピー後)
下記プログラムを実行して、
セルB2に記載してある日付を金に
セルB3に記載してある日付を金曜日に
セルB4に記載してある日付をFriに
セルB5に記載してある日付をFridayにします。
サンプルコード
Sub Test12()
Range("B2").NumberFormatLocal = "aaa"
Range("B3").NumberFormatLocal = "aaaa"
Range("B4").NumberFormatLocal = "ddd"
Range("B5").NumberFormatLocal = "dddd"
End Sub
図7 ブック(上記、コード実行後)
それぞれ
セルB2の2019/9/13 の書式が変更され、金に
セルB3の2019/9/13 の書式が変更され、金曜日に
セルB4の2019/9/13 の書式が変更され、Friに
セルB5の2019/9/13 の書式が変更され、Fridayになりました。
日付を書式変更で曜日にして、
日付から曜日を確認することが出来ました。
値を入力したわけでなく書式の変更をしただけなので、
実際のセルに記載されているのは2019/9/13 です。
図7 ブック(入力値の確認)
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート