教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA プログラミング】(関数45)Date関数のプログラミング例を教えて!

f:id:m_kbou:20210702172712p:plain

Date関数を使用したプログラミング例を紹介します。

 

 

例題

例題は、<実行>ボタンをクリックすると、判定日に入力されている日付を判定して「前日以前です。」「当日です。」「明日以降です。」の結果を返すプログラミング方法です。

[実行前]:

(現在のシステム日付)

現在のシステム日付は「2021/07/02」です。

f:id:m_kbou:20210702123950p:plain

(実行内容)

①判定日に「2021/12/31」を入力します。

f:id:m_kbou:20210702172754p:plain

[実行後]:

②システム日付が「2021/07/02」なので、「明日以降です。」がMsgBoxで表示されます。

f:id:m_kbou:20210702172810p:plain

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

Sub サンプル()

  Dim 対象日 As Date

  対象日 = Range("A2")

  Select Case 対象日
    Case Is < Date
      MsgBox "前日以前です。"
    Case Is = Date
      MsgBox "当日です。"
    Case Is > Date
      MsgBox "明日以降です。"
  End Select

End Sub

内容を説明すると、

Date関数を使用して判定日(A2セル)に入力されている日付とシステム日付を比較し、判定日がシステム日付以前であれば「前日以前です。」を、システム日付と同日であれば「当日です。」を、システム日付以降であれば「明日以降です。」をMsgboxで表示して下さい。

との意味になります。

f:id:m_kbou:20210702172847p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。また、ボタンにプログラムを割り当てるにはこちらを参考にして下さい。

 

ダウンロード

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com