The current version below does not handles any errors, mistypes, undos etc.
'-------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Long
Dim c As Long
Dim m As Long
Dim t As Long
Dim b As String
m = Range("h1").Value + 2
If Len(Cells(m, 1)) = 0 Then _
Exit Sub
If Len(Cells(m, 2)) > 0 And Len(Cells(m, 3)) > 0 And (Len(Cells(m, 4)) >
0 Or Len(Cells(m, 5)) > 0) Then
b = Cells(m, 3).Value
t = Worksheets(b).Range("h1").Value + 2
Worksheets(b).Cells(t, 1) = Cells(m, 1)
Worksheets(b).Cells(t, 2) = Cells(m, 2)
Worksheets(b).Cells(t, 3) = Cells(m, 3)
If Len(Cells(m, 4)) > 0 Then
Worksheets(b).Cells(t, 5) = Cells(m, 4)
Else
Worksheets(b).Cells(t, 4) = Cells(m, 5)
End If
Range("h1").Value = Range("h1").Value + 1
Worksheets(b).Range("h1").Value = Worksheets(b).Range("h1").Value + 1
End If
End Sub
'-------------------------------------------------------------------------
Bookmarks