指定された年月の最終日を算出する

表に日付や曜日を表示する場合、まず指定された年月の最終日を求める必要があります。
最終日を取得する方法はいくつかありますが、ここでは28日からループで1日ずつ加算し、次の月になれば、その1日前が最終日になります。

表に日付と曜日を自動的に表示するのメニューに戻る

スポンサーリンク



実行画面

「作成する年」と「作成する月」にそれぞれ入力し、「作成開始」ボタンをクリックすると、その年月の最終日が計算されます。
日付と曜日を表示させるシート

もし、年や月が入力されていない場合はメッセージが表示されます。
未入力の場合のメッセージ

スポンサーリンク



プログラムソース

Option Explicit

'指定された月の末日を取得
Private Function MonLastDay(yy As Integer, mm As Integer) As Integer
    Dim i As Integer
    Dim tdate As Date
    
    tdate = Format(yy & "/" & mm & "/1", "yyyy/mm/dd")
    i = 28
    Do
        i = i + 1
    Loop Until Day(tdate + i - 1) = 1
    MonLastDay = i - 1
End Function

'日付を表示する
Private Sub DateDisp()
    Dim lastday As Long
    
    '末日を取得
    lastday = MonLastDay(Range("C2"), Range("C3"))
End Sub

'作成開始ボタン
Private Sub CommandButton1_Click()
    If Range("C2") = "" Then
        MsgBox "作成する年を入力してください。"
        Exit Sub
    End If
    
    If Range("C3") = "" Then
        MsgBox "作成する月を入力してください。"
        Exit Sub
    End If
    
    '日付の表示
    Call DateDisp
End Sub

表に日付と曜日を自動的に表示するのメニューに戻る

スポンサーリンク





■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved