先月の日付を取得 : Excel(エクセル)

先月の日付とは、先月の1日〜先月末の日付です。

Excel Tipsメニューに戻る

スポンサーリンク





■ 取得方法
1) 本日の「年」を、Year関数で取得します。
2) 本日の「月」を、Month関数で取得します。
3) 今月の1日を取得します。
4) DateAdd関数で、一月減算し先月の1日の日付を取得します。
3) 先月の1日から末日を取得します。
  取得方法: 28日から1日ずつ加算し、日が1日になる1日前が末日になります。
4) 結果をセルに代入し完了です。

Excel実行画面

「先月の日付」ボタンをクリックすると、開始日と終了日が表示されます。
先月の日付を計算し結果を表示するシート

スポンサーリンク



Excel VBA実行コード

Option Explicit

'月の末日を取得し返す
Public Function MonthLastDay(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
    MonthLastDay = i - 1
End Function

Private Sub CommandButton1_Click()
    Dim ly As Integer
    Dim lm As Integer
    Dim ld As Integer
    Dim tdate As Date
    Dim tsdate As Date
    Dim tedate As Date
    
    ly = Year(Date)
    lm = Month(Date)
    
    '今月の開始日
    tdate = Format(ly & "/" & lm & "/1", "yyyy/mm/dd")
    '先月の1日
    tsdate = DateAdd("m", -1, tdate)
    Range("C6") = tsdate
    
    ly = Year(tsdate)
    lm = Month(tsdate)
    ld = MonthLastDay(ly, lm)
    
    '先月の終了日
    tedate = Format(ly & "/" & lm & "/" & ld, "yyyy/mm/dd")
    Range("C7") = tedate
    
End Sub

Excel Tipsメニューに戻る




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


Copyright (c) Excel-Excel ! All rights reserved