If you want to stick to a 2 sub solution change both subs to this.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("AC:AC")) Is Nothing Then
If Target.Value = "Done" Then
Application.EnableEvents = False
wRow = Target.Row: Call MoveBasedOnValue: wRow = 0
Application.EnableEvents = True
End If
End If
End Sub
and
Public wRow As Long
Sub MoveBasedOnValue()
Dim B As Long
B = Sheets("completed").Range("B" & Rows.Count).End(xlUp).Row 'Worksheets("completed").UsedRange.Rows.Count
If B = 1 Then
If Application.CountA(Worksheets("completed").UsedRange) = 0 Then B = 0
End If
Application.ScreenUpdating = False
With Sheets("master")
.Unprotect
.Rows(wRow).EntireRow.Copy Sheets("completed").Range("A" & B + 1)
.Rows(wRow).EntireRow.Delete xlUp
.Protect
End With
Application.ScreenUpdating = True
End Sub
Bookmarks