same thing:
Private Sub Worksheet_Change(ByVal Target As Range)Dim LastRow As Long, n As Integer, m As Integer, mm As Integer, va As String
Dim sMn As String
Static bHandled As Boolean
sMn = Format$(Date, "mm")
m = Month(Date)
If Not bHandled Then
bHandled = True
On Error Resume Next
If Left$(Target.Address, 2) = "$A" Then Exit Sub
If Len(Target & "") = 0 Then
Target.Offset(, -1).ClearContents
Exit Sub
End If
With Target.Parent
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
va = Trim$(.Cells(LastRow, 1) & "")
If Len(va) = 0 Or IsDate(va) = False Then
Range("A" & Target.Row) = "'1/" & Month(Date) & ""
Else
n = Val(Split(va, "/")(0))
mm = Val(Split(va, "/")(1))
If m = mm Then
Range("A" & Target.Row) = "'" & n + 1 & "/" & m & ""
Else
Range("A" & Target.Row) = "'1/" & Month(Date) & ""
End If
End If
End With
Else
bHandled = False
End If
End Sub