即効テクニック

日付・時刻関連のテクニック

閏年かどうかを調べる

(Excel 97/2000)
サンプルマクロは、インプットボックスに入力した年が閏年かどうかを判定します。
Sub Sample()

Dim strYear As String, intYear As Integer

    On Error Resume Next
    Do
        strYear = InputBox("年を入力してください。", , Year(Now))
        If strYear = vbNullString Then Exit Sub
        If Right(strYear, 1) = "年" Then _
            strYear = Left(strYear, Len(strYear) - 1)
        Err.Clear
        intYear = Year(strYear & "/1/1")
    Loop Until Err.Number = 0
    On Error GoTo 0
    
    If Day(DateAdd("d", -1, intYear & "/3/1")) = 29 Then _
        MsgBox strYear & "年は閏年です。"
    

End Sub