The VBA code DueDates() uses a custom subroutine 'PerformCopyAndClear'
I have further down, a modified version of 'DueDates'
How will the subroutine 'PerformCopyAndClear' need to be modified to suit.

Sub DueDates()

    Application.ScreenUpdating = False

    Dim currentMonth As Long
    currentMonth = Month(Date)

    If currentMonth >= 9 And currentMonth <= 12 Then ' Sep to Dec
        If Range("I1").Value > 0 Then
            PerformCopyAndClear Columns("E:E").Offset(1), Columns("F:F").Offset(1)
        End If
        If Range("J1").Value > 0 Then
            PerformCopyAndClear Columns("G:G").Offset(1), Columns("B:B").Offset(1), Columns("AE:AE").Offset(1)
        End If
    ElseIf currentMonth >= 1 And currentMonth <= 3 Then ' Jan to Mar
        If Range("J1").Value > 0 Then
            PerformCopyAndClear Columns("G:G").Offset(1), Columns("B:B").Offset(1)
        End If
        If Range("H1").Value > 0 Then
            PerformCopyAndClear Columns("C:C").Offset(1), Columns("D:D").Offset(1), Columns("AE:AE").Offset(1)
        End If
    ElseIf currentMonth >= 4 And currentMonth <= 8 Then ' Apr to Aug
        If Range("H1").Value > 0 Then
            PerformCopyAndClear Columns("C:C").Offset(1), Columns("D:D").Offset(1)
        End If
        If Range("I1").Value > 0 Then
            PerformCopyAndClear Columns("E:E").Offset(1), Columns("F:F").Offset(1), Columns("AE:AE").Offset(1)
        End If
    End If

    Application.ScreenUpdating = True
    Application.EnableEvents = True
    Me.Protect Password:="edit"

End Sub

Private Sub PerformCopyAndClear(sourceColumn As Range, ParamArray destinationColumns() As Variant)

    Me.Unprotect Password:="edit"
    Application.EnableEvents = False

    sourceColumn.Offset(1).Resize(sourceColumn.Rows.Count - 1).Copy ' Exclude row 1 during copy

    Dim destinationColumn As Variant
    For Each destinationColumn In destinationColumns
        destinationColumn.Offset(1).Resize(sourceColumn.Rows.Count - 1).PasteSpecial xlPasteValues ' Paste excluding row 1
    Next destinationColumn

    sourceColumn.Offset(1).Resize(sourceColumn.Rows.Count - 1).ClearContents ' Clear excluding row 1

    Application.CutCopyMode = False
    Application.EnableEvents = True
    Me.Protect Password:="edit"

End Sub



Sub DueDates()

    Application.ScreenUpdating = False

    Dim currentMonth As Long
    currentMonth = Month(Date)

    If currentMonth >= 9 And currentMonth <= 12 Then ' Sep to Dec
        If Range("I1").Value > 0 Then
            PerformCopyAndClear Columns("E2:E20"), Columns("F2:F20")
        End If
        If Range("J1").Value > 0 Then
            PerformCopyAndClear Columns("G2:G20"), Columns("B2:B20"), Columns("AE2:AE20")
        End If
    ElseIf currentMonth >= 1 And currentMonth <= 3 Then ' Jan to Mar
        If Range("J1").Value > 0 Then
            PerformCopyAndClear Columns("G2:G20"), Columns("B2:B20")
        End If
        If Range("H1").Value > 0 Then
            PerformCopyAndClear Columns("C2:C20"), Columns("D2:D20"), Columns("AE2:AE20")
        End If
    ElseIf currentMonth >= 4 And currentMonth <= 8 Then ' Apr to Aug
        If Range("H1").Value > 0 Then
            PerformCopyAndClear Columns("C2:C20"), Columns("D2:D20")
        End If
        If Range("I1").Value > 0 Then
            PerformCopyAndClear Columns("E2:E20"), Columns("F2:F20"), Columns("AE2:AE20")
        End If
    End If

    Application.ScreenUpdating = True
    Application.EnableEvents = True
    Me.Protect Password:="edit"

End Sub