I have used a date range input form for a couple years now with pre-set range buttons. I wish I could remember where I got the code so I could give proper credit.
'Year to date button
Private Sub cmdCalYearToDate_Click()
txtFrom = "1/1/" & DatePart("yyyy", DATE)
txtTo = DATE
End Sub
'Month to date button
Private Sub cmdMonthToDate_Click()
txtFrom = DateAdd("d", -(DatePart("d", DATE) - 1), DATE)
txtTo = DATE
End Sub
'Fiscal year to date button
Private Sub cmdProgYearToDate_Click()
If DatePart("m", DATE) > 6 Then
txtFrom = DateSerial(Year(DATE), 7, 1)
Else: txtFrom = DateSerial(Year(DATE) - 1, 7, 1)
End If
txtTo = DATE
End Sub
'Today's date button
Private Sub cmdToday_Click()
txtFrom = DATE
txtTo = DATE
End Sub
'Yesterday's button
Private Sub cmdYesterday_Click()
txtFrom = DateAdd("d", -1, DATE)
txtTo = DateAdd("d", -1, DATE)
End Sub
'Last month's button
Private Sub cmdLastMonth_Click()
txtFrom = DatePart("m", DateAdd("m", -1, DATE)) & "/1/" & DatePart("yyyy", DateAdd("m", -1, DATE))
txtTo = DateAdd("d", -(DatePart("d", DATE)), DATE)
End Sub
'Last fiscal year button
Private Sub cmdLastProgYear_Click()
If Month(DATE) > 6 Then
txtFrom = DateSerial(Year(DATE) - 1, 7, 1)
txtTo = DateSerial(Year(DATE), 6, 30)
Else:
txtFrom = DateSerial(Year(DATE) - 2, 7, 1)
txtTo = DateSerial(Year(DATE) - 1, 6, 30)
End If
End Sub
'Last week's button
Private Sub cmdLastWeek_Click()
Select Case DatePart("w", DATE, vbSunday)
Case 1
txtFrom = DateAdd("d", -7, DATE)
txtTo = DateAdd("d", -1, DATE)
Case 2
txtFrom = DateAdd("d", -8, DATE)
txtTo = DateAdd("d", -2, DATE)
Case 3
txtFrom = DateAdd("d", -9, DATE)
txtTo = DateAdd("d", -3, DATE)
Case 4
txtFrom = DateAdd("d", -10, DATE)
txtTo = DateAdd("d", -4, DATE)
Case 5
txtFrom = DateAdd("d", -11, DATE)
txtTo = DateAdd("d", -5, DATE)
Case 6
txtFrom = DateAdd("d", -12, DATE)
txtTo = DateAdd("d", -6, DATE)
Case 7
txtFrom = DateAdd("d", -13, DATE)
txtTo = DateAdd("d", -7, DATE)
End Select
End Sub
'Last calendar year button
Private Sub cmdLastYear_Click()
txtFrom = "1/1/" & DatePart("yyyy", DateAdd("yyyy", -1, DATE))
txtTo = DateAdd("d", -DatePart("y", DATE), DATE)
End Sub
'This week's button
Private Sub cmdThisWeek_Click()
Select Case DatePart("w", DATE, vbSunday)
Case 1
txtFrom = DATE
txtTo = DateAdd("d", 6, DATE)
Case 2
txtFrom = DateAdd("d", -1, DATE)
txtTo = DateAdd("d", 5, DATE)
Case 3
txtFrom = DateAdd("d", -2, DATE)
txtTo = DateAdd("d", 4, DATE)
Case 4
txtFrom = DateAdd("d", -3, DATE)
txtTo = DateAdd("d", 3, DATE)
Case 5
txtFrom = DateAdd("d", -4, DATE)
txtTo = DateAdd("d", 2, DATE)
Case 6
txtFrom = DateAdd("d", -5, DATE)
txtTo = DateAdd("d", 1, DATE)
Case 7
txtFrom = DateAdd("d", -6, DATE)
txtTo = DATE
End Select
End Sub
'This year's button
Private Sub cmdThisYear_Click()
txtFrom = DateAdd("d", -(DatePart("y", DATE) - 1), DATE)
txtTo = DATE
End Sub