【VBA】If~ElseIf~Elseを使った分岐処理|時間によるプログラム制御

目次

経緯

VBAでプログラムを作成する中で、
条件分岐をさらに細かく増やしたいと考え、
今回、**If ElseIf Else**構文を使った分岐方法について学びました。

解決方法:If~ElseIf~Else構文を使う

今回は、現在の時間に応じて処理を切り替えるという実例で学習しました。


時間による分岐コード例

Dim now_time As Date
now_time = Now

If now_time < TimeValue("9:00:00") Then
    ' 9時以前の場合に実行するプログラム
    MsgBox "9時前の処理です"
    
ElseIf now_time > TimeValue("17:00:00") Then
    ' 17時以降の場合に実行するプログラム
    MsgBox "17時以降の処理です"
    
Else
    ' それ以外(9時~17時の間)の場合
    MsgBox "通常時間帯の処理です"
    
End If

コード解説

  • Now関数で、現在の日時+時刻を取得します。
  • TimeValue("9:00:00")のようにして、時間の比較を適切に行います。
  • IfElseIfElse と順に条件を評価し、最初に一致したブロックが実行されます。

※文字列(”9:00:00″)を直接比較すると不安定になるため、TimeValue関数を使用するのが安全です。


まとめ

VBAで複数の条件に応じた分岐を行うには、

  • If 条件 Then
  • ElseIf 条件 Then
  • Else
  • End If

の基本構文を正しく使うことが重要です。

時間帯に応じた処理振り分けなど、さまざまな場面で役立つテクニックですので、
今後さらに応用範囲を広げていきたいと思います。

ここまでお読みいただき、誠にありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次