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


<--- 戻る

先月の日付を抽出

サンプルファイル

先月の日付を抽出します。


[ポイント]

・先月の1日を取得
・先月の最終日を取得(今月の1日 - 1 が先月の最終日)



Sub sample()

'================= 先月の日付を抽出するマクロ  ===========



Dim DateOne As Date '先月の1日
Dim DateB As Date '先月の最終日





'#########################################################
'先月の1日を取得 ========================================
'#########################################################


'先月 ====================================================
If Month(Date) <> 1 Then '今月が1月でないならば。

YearOne = Year(Date)
MonthOne = Month(Date) - 1
DayOne = 1

'先月の1日を文字列にする
DateStringA = YearOne & "/" & MonthOne & "/" & DayOne

'文字列の日付に変換
DateOne = DateValue(DateStringA)


Else '今月が1月だったら

YearOne = Year(Date) - 1
MonthOne = 12
DayOne = 1

'先月の1日を文字列にする
DateStringA = YearOne & "/" & MonthOne & "/" & DayOne

'文字列を日付に変換
DateOne = DateValue(DateStringA)


End If






'##############################################################
'先月の最終日を取得 // 「今月の1日 - 1」が先月の最終日。=========
'##############################################################

YearB = Year(Date)
MonthB = Month(Date)
DayB = 1

'今月の1日を文字列にする
DateStringB = YearB & "/" & MonthB & "/" & DayB


'文字列を日付に変換。 // 「今月の1日 - 1」が先月の最終日。
DateB = DateValue(DateStringB) - 1




'#########################################################
'抽出条件をシートに転記==================================
'########################################################

'抽出の条件式
'先月の1日
Cells(4, "C").Value = ">=" & DateOne


'先月の最終日
Cells(4, "D").Value = "<=" & DateB


Range("B9:D70").AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Range("C3:D4"), Unique:=False



End Sub

--