VBATips

指定した年の日数の判定処理をパーツ化する【DatePart関数応用】【うるう年対策】

VBAで閏年(うるう年)も加味し、指定した年の日数(365日なのか366日なのか)判定させます。

指定した年の日数の判定処理をパーツ化する

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

'■指定した年の日数の判定処理(うるう年対策)
Public Function call_CheckLeapYear(sYear As Long)
    call_CheckLeapYear = DatePart("y", sYear & "/12/31") 'sYear=2023の場合、2023/12/31
End Function

実際の使い方はこちら

Public Sub sample()
    Debug.Print call_CheckLeapYear(2022)    '365
    Debug.Print call_CheckLeapYear(2023)    '365
    Debug.Print call_CheckLeapYear(2024)    '366
    Debug.Print call_CheckLeapYear(2025)    '365
End Sub

注意事項

  • 特にありません。
  • たった一行のコードですが、関数化しておく=コピペで使える=何度も使える=コードの意味を理解せずとも使えるといった効果があると考えています。
  • カレンダーを作る際などに利用可能です。

関連記事

コメント

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