I have the following code which was written by a previous coworker, and I need help modifying this.

A Userform is loaded, and a start/end date is inputted by the user. It searches Sheet 1 for dates within this start/end range, and then copies that entire row to Sheet2, and continues down Sheet1 searching for matching dates. 

I need to modify this to 

1. search `Sheet1`, Column `Q` and `S` for dates
2. copy `Sheet1` cells `C`, `G`, `J` and the dates `Q`, and `S` in this same row
3. paste to a row on `Sheet2` in columns `A`, `B`, `C`, `D` and `E`.

It's over my knowledge level. Any help would be appreciated, as I can't seem to figure this code out. If you could explain how this works in simple terms, that would be equally awesome!

```
Dim rng As Range, destRow As Long
    Dim shtSrc As Worksheet, shtDest As Worksheet
    Dim c As Range '-- this is used to store the single cell in the For Each loop

    Set shtSrc = Sheets("Sheet1") ' Sets "Sheet1" sheet as source sheet
    Set shtDest = Sheets("Sheet2") 'Sets "Sheet2." sheet as destination sheet
    destRow = 5 'Start copying to this row on destination sheet

' >> Set range to search for dates in Look Ahead period <<
    Set rng = Application.Intersect(shtSrc.Range("P:P"), shtSrc.UsedRange)

' >> Look for matching dates in columns C to D <<
    For Each c In rng.Cells
        If (c.value >= startDate And c.value <= endDate) Or _
    (c.Offset(0, 1).value >= startDate And c.Offset(0, 1).value <= endDate) Then ' Does date fall between start and end dates? If Yes, then copy to destination sheet

            c.Offset(0, -2).Resize(1, 12).Copy _
                          shtDest.Cells(destRow, 1) 'Copy a 12 cell wide block to the other sheet, paste into Column A on row destRow
            destRow = destRow + 1

' > Ends search for dates <
        End If
    Next

```