教えて!ExcelVBA!

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

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

       f:id:m_kbou:20200527080049p:plain

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

 

【目次】

 

例題

例題は、A列に入力されている納期について、DateDiff関数を使用して本日日付からの日数を算出し、0未満の場合は”遅延しています。”を、0以上5以下の場合は”納品して下さい。”を、6以上の場合は”納品しないで下さい。”を表示するプログラミング方法です。

[実行前]:

f:id:m_kbou:20200527080105p:plain

[実行後]:

f:id:m_kbou:20200527080118p:plain

 

プログラミング

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

[記述例]:

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

-------------------------------------------------

Sub サンプル()

    Dim 行 As Double
   
    For 行 = 2 To 7
        Select Case DateDiff("d", Format(Now, "yyyy/mm/dd"), Range("A" & 行))
            Case Is < 0
                Range("B" & 行) = "遅延しています。"
            Case Is <= 5
                Range("B" & 行) = "納品して下さい。"
            Case Is > 5
                Range("B" & 行) = "納品しないで下さい。"
        End Select
    Next
   
End Sub

-------------------------------------------------

内容を説明すると、

「A列の2行目~7行目に入力されている納期について、本日日付からの日数を算出します。算出した日数が0以下の場合は”遅延しています。”を、0以上5以下の場合には”納品して下さい。”を、6以上の場合は”納品しないで下さい。”をB列に表示して下さい。」

との意味になります。

 

ダウンロード

上記サンプルプログラムを使用したい場合は、こちらからダウンロードして下さい。

1drv.ms