Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wb As Workbook, wsComp As Worksheet, wsActive As Worksheet
Dim lastrow As Long, i As Long
Dim KeyCells As Range
Set wb = ThisWorkbook
Set wsComp = wb.Worksheets("Completed")
Set wsActive = wb.Worksheets("Active")
Set KeyCells = wsActive.Range("E:F")
For i = 1 To Sheets.Count
Sheets(i).Unprotect Password:="Password"
Next i
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
lastrow = wsComp.Cells(Rows.Count, "A").End(xlUp).Row
If wsActive.Cells(Target.Row, 5).Value <> vbNullString And wsActive.Cells(Target.Row, 6).Value <> vbNullString Then
wsComp.Unprotect Password:="Password"
wsActive.Rows(Target.Row).Copy Destination:=wsComp.Range("A" & lastrow + 1)
wsComp.Protect Password:="Password"
wsActive.Rows(Target.Row).Delete
End If
End If
For i = 1 To Sheets.Count
Sheets(i).Protect Password:="Password"
Next i
End Sub
Bookmarks