I'm using this code to extract data from multiple worksheets to put into blank sheet (provided by arlu1201), which works brilliantly

Option Explicit
Sub extract_data()
Dim i As Long

Application.ScreenUpdating = False

For i = 1 To Worksheets.Count
    With Worksheets(i)
        If .Name <> "Summary" Then
            .Range("A39:M58").Copy Worksheets("Summary").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
        End If
    End With
Next i

MsgBox "Done"

Application.ScreenUpdating = True

End Sub
Is there any way to extend this to include non adjacent cells. For example, the data I actually want to extract appears in Column A and then in Columns D to F on the same row, so I want to extract the data from each row as follows:

A39, I39:M39
A40, I40:M40
A41, I41:M41

and so on, missing out columns B to H (if possible) to appear on the same row in my destination sheet. At the moment, I'm using A39:M58 to extract all the columns and then deleting those I don't want.

Also, is there a way to strip out any cell formatting at the same time, so the data in the destination sheet is free from colour fills and borders etc, like a 'paste values' effectively?

Many thanks