I was having problems with my posting this morning. It should have been this worksheet event code

[vba]

Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = "H1" '<== change to suit
Static mpPrev
Dim RevNum As Long

On Error GoTo ws_exit
Application.EnableEvents = False

If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With Target
If mpPrev <> "" Then
If Len(mpPrev) = Len(Replace(mpPrev, "Revise", "")) Then
.Value = .Value & "-Revise1"
Else
RevNum = Right$(mpPrev, Len(mpPrev) - InStr(mpPrev, "-") - 6)
RevNum = RevNum + 1
.Value = Left$(mpPrev, InStr(mpPrev, "-")) & "Revise" & RevNum
End If
End If
mpPrev = .Value
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub
[/vba]