Hi Alan,
Thank for the follow up and your time.
I have been playing with the original code myself. I have decided to make Name list same in all sheet, just to get to the solution. I know my variable range causes alot of the problem and took alot of your time.
However, i have come to the following code and its working fine. only deviation i did is to make name list common.
Private Sub Worksheet_Change(ByVal Target As Range)
'http://www.ozgrid.com/forum/showthread.php?t=154637
Dim strStatus As String
Dim wsAwait As Worksheet
Dim wsRmove As Worksheet
Dim wsMList As Worksheet
Dim lstrw As Long
If Target.Column = 1 Then Exit Sub
If Target.Row <> 1 Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
strStatus = Target.Value
Set wsAwait = ThisWorkbook.Sheets("Awaiting")
Set wsRmove = ThisWorkbook.Sheets("Remove")
Set wsMList = ThisWorkbook.Sheets("Master List")
lstrw = wsAwait.Rows.Count
If strStatus <> "Move to Master List" Then
Range(Target, Target.Offset(0, 2)).Copy
Application.EnableEvents = False
Select Case strStatus
Case "Awaiting"
'wsAwait.Range("A" & lstrw).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Columns(Target.Column).Copy wsAwait.Columns(wsAwait.Cells(2, Columns.Count).End(xlToLeft).Column + 1)
Case "Remove"
wsRmove.Range("A" & lstrw).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End Select
Thanks once again Alan for the direction and effort
Bookmarks