VocExcel(単語帳) / VBA Tips
 
 [Key] エクセル / Excel / VBA /マクロ


<--- 戻る

今月の最終日を取得



月の最終日を取得するマクロです。 取得方法は「来月の1日 マイナス 1日」です。 12月の最終日は「翌年の1月1日 マイナス 1日」です。 閏年にも対応できると思います。



Sub thisDay()


 '###############################################
 '今月の最終日を取得 // 「来月の1日 - 1」が今月の最終日。
 '閏年にも対応できると思います。
 '###############################################
 
 Dim DateOne '基準日
 
 Dim YearB
 Dim MonthB
 Dim DayB
 
 Dim DateStringB

 Dim DateB
  
 
 DateOne = Date '今日の日付 // ここをカスタマイズする。
 
  If Month(DateOne) <> 12 Then '今月が12月でないならば、来月は「今月 + 1」
 
  YearB = Year(DateOne)
  MonthB = Month(DateOne) + 1
  DayB = 1
  
  '先月の1日を文字列にする
  DateStringB = YearB & "/" & MonthB & "/" & DayB
  
  '文字列を日付に変換。 1を引くことで、今月の最終日が取得できる。
  DateB = DateValue(DateStringB) - 1
   
 
 Else ' 今月が12月だったら、来年の1月になる
   
  YearB = Year(DateOne) + 1
  MonthB = 1
  DayB = 1
  
  
  '先月の1日を文字列にする
  DateStringB = YearB & "/" & MonthB & "/" & DayB
  
  '文字列を日付に変換。 1を引くことで、今月の最終日が取得できる。
  DateB = DateValue(DateStringB) - 1
  
 End If
  

MsgBox "[今月の最終日] ---> " & DateB


End Sub



--