Maybe:
Private Sub Worksheet_Change(ByVal Target As Range): Dim r As Long, c As Long
Dim N As String, D As String, M As Single, w1 As Worksheet
r = Rows.Find("*", , , , xlByRows, xlPrevious).Row: Set w1 = Sheets("Sheet1")
If WorksheetFunction.CountA(Cells(Target.Row, 1).Resize(1, 3)) = 3 Then
If Target.Column < 4 And Target.Row <= r + 1 Then
r = Target.Row: D = Cells(r, 3): M = Cells(r, 2): N = Cells(r, 1)
r = 3: Do Until w1.Cells(r, 1) = N Or w1.Cells(r, 1) = "Cashflow": r = r + 1: Loop
If w1.Cells(r, 1) = "Cashflow" Then w1.Cells(r, 1).EntireRow.Insert
If D = "Existing" Then
c = 2
Else: c = w1.Rows(2).Find(D).Column + 2: End If
w1.Cells(r, c).Resize(1, 14 - c) = M: w1.Cells(r, 1) = N
End If: End If: End Sub
*But there is no column for 6-15
** This is enough different from the sample that we'll probably need to recode it
Bookmarks