Sub sample()
'================= 今月の日付を抽出するマクロ ===============
Dim DateOne As Date '今月の1日
Dim DateB As Date '今月の最終日
'########################################################
'今月の1日を取得 =========================================
'########################################################
YearOne = Year(Date)
MonthOne = Month(Date)
DayOne = 1
'今月の1日を文字列にする
DateStringOne = YearOne & "/" & MonthOne & "/" & DayOne
'文字列の日付に変換。
DateOne = DateValue(DateStringOne)
'#############################################################
'今月の最終日を取得 // 「来月の1日 - 1」が今月の最終日。'#############################################################
If Month(Date) <> 12 Then '今月が12月でないならば、来月は「今月 + 1」
YearB = Year(Date)
MonthB = Month(Date) + 1
DayB = 1
'先月の1日を文字列にする
DateStringB = YearB & "/" & MonthB & "/" & DayB
'文字列の日付に変換。 1を引くことで、今月の最終日が取得できる。
DateB = DateValue(DateStringB) - 1
Else ' 今月が12月だったら、来年の1月になる
YearB = Year(Date) + 1
MonthB = 1
DayB = 1
'先月の1日を文字列にする
DateStringB = YearB & "/" & MonthB & "/" & DayB
'文字列の日付に変換。 1を引くことで、今月の最終日が取得できる。
DateB = DateValue(DateStringB) - 1
End If
'#######################################################
'抽出条件をシートに転記=================
'######################################################
'抽出の条件式
'今月の1日
Cells(4, "C").Value = ">=" & DateOne
'今月の最終日
Cells(4, "D").Value = "<=" & DateB
Range("B9:D39").AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Range("C3:D4"), Unique:=False
End Sub
|