Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A:A) is Nothing Then _ CheckMonthOfItem Intersect(Target, Range"A:A") End Sub Private Sub CheckMonthOfItem(Rng As Range) Dim Cel As Range Application.EnableEvents = False For Each Cel in Rng If Cel.Address = "A1" Then Cel = "'1/" & Month(Date) 'Special Case On Error GoTo CelNext ElseIf CInt(Split(Cel.Offset(-1), "/")(1)) = Month(Date) Then Cel = CStr(CLng(Split(Cel.Offset(-1), "/")(0) + 1) & "/" & Month(Date)) 'Typical ElseIf CInt(Split(Cel.Offset(-1), "/")(1) = Month(DateAdd( "m", -1, Date) Then Cel = "'1/" & Month(Date) 'New Month End If CelNext: Err = 0 Next Cel Application.EnableEvents = True End Sub