VBATips

閏年(うるう年)の判定を行う【DatePart関数応用】【ExcelVBA】

VBAで閏年(うるう年)の判定を行う形です。
今回ご紹介する以外にも方法はありますが、一番シンプルな形で処理が可能です。

閏年(うるう年)の判定を行うサンプルコード

DatePart関数を上手に使用し、年初めから12/31までの日数を把握します。
一年間の日数は、閏年は366日、閏年でなければ365日ですので、そちらの日数で判断をします。

'■閏年(うるう年)を判定する
Public Function call_chk_leap_year(sDate As Date)
    If DatePart("y", sDate) = 366 Then
        call_chk_leap_year = "閏年(うるう年)です"
    Else
        call_chk_leap_year = "閏年(うるう年)ではありません"
    End If
End Function
'■実際の使い方はこちら
Public Sub sample()

    Debug.Print call_chk_leap_year("2021/12/31") '"閏年(うるう年)ではありません"
    Debug.Print call_chk_leap_year("2022/12/31") '"閏年(うるう年)ではありません"
    Debug.Print call_chk_leap_year("2023/12/31") '"閏年(うるう年)ではありません"
    Debug.Print call_chk_leap_year("2024/12/31") '"閏年(うるう年)です"
End Sub

 

関連記事

コメント

タイトルとURLをコピーしました