I am assuming that with Sheets 1 & 2 the data in Col D is unique and can be used to find said data if Action Summary Col L is changed...
Or...Are you going to add a column showing where data comes from when moved to Action Summary...
Also...Never use merged cells...Just causes havoc with VBA...See amended upload sample...All merged cells removed...
Should do all required...Code in This WorkBook Module...Based on Col D as unique...
Code fires...
When making changes in Col F of Sheets 1& 2
When making changes in Col L of Sheets Action Summary
Private Sub Workbook_SheetChange(ByVal ws As Object, ByVal Target As Range)
Dim Arr, Fnd As Range
If Target.CountLarge > 1 Then Exit Sub
If ws.Name = "1" Or ws.Name = "2" Then
With ws.Cells(1).CurrentRegion
If Not Intersect(Target, .Columns(6)) Is Nothing Then
If Target = "Poor - 1 " Or Target = "Mediocure - 2" Then
Application.EnableEvents = False
Arr = Application.Index(.Value, Target.Row, Application.Transpose(Array(1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12)))
With Sheets("Action Summary").Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(, 11)
.Value = Application.Transpose(Arr)
.Resize(, 12).Borders.Weight = 2
.Columns(12).Validation.Add xlValidateList, , , "Good - 3,Excellent - 4"
End With
Application.EnableEvents = True
End If
End If
End With
ElseIf ws.Name = "Action Summary" Then
If Not Intersect(Target, ws.Range("L:L")) Is Nothing Then
If Target = "Good - 3" Then
Application.EnableEvents = False
Set Fnd = Sheets("1").Range("D:D").Find(Target.Offset(, -8), , xlValues, xlWhole)
If Fnd Is Nothing Then Set Fnd = Sheets("2").Range("D:D").Find(Target.Offset(, -8), , xlValues, xlWhole)
Fnd.Offset(, 2) = Target: Target.EntireRow.Delete
Application.EnableEvents = True
End If
End If
End If
End Sub
Bookmarks