Option Explicit
Sub MCopy()
Dim K1, K2, K3, K4, K5, K6 As Byte
Dim Rng, Rng1, Rng2, Rng3, Rng4, Rng5, Rng6 As Range
Dim i, Er1, Er2 As Long
On Error Resume Next
ActiveSheet.Range("A2:G1000").Clear
Set Rng = ActiveSheet.Range("A1:G1")
For i = 1 To ActiveSheet.Index - 1
With Sheets(i)
Er1 = .[A65536].End(xlUp).Row
Er2 = Sheet5.[A65536].End(xlUp).Row + 1
K1 = Application.WorksheetFunction.Match(.Cells(1, 1), Rng, 0)
K2 = Application.WorksheetFunction.Match(.Cells(1, 2), Rng, 0)
K3 = Application.WorksheetFunction.Match(.Cells(1, 3), Rng, 0)
K4 = Application.WorksheetFunction.Match(.Cells(1, 4), Rng, 0)
K5 = Application.WorksheetFunction.Match(.Cells(1, 5), Rng, 0)
K6 = Application.WorksheetFunction.Match(.Cells(1, 6), Rng, 0)
Set Rng1 = .Range("A2:A" & Er1)
Set Rng2 = .Range("B2:B" & Er1)
Set Rng3 = .Range("C2:C" & Er1)
Set Rng4 = .Range("D2:D" & Er1)
Set Rng5 = .Range("E2:E" & Er1)
Set Rng6 = .Range("F2:F" & Er1)
Rng1.Copy Destination:=Cells(Er2, K1)
Rng2.Copy Destination:=Cells(Er2, K2)
Rng3.Copy Destination:=Cells(Er2, K3)
Rng4.Copy Destination:=Cells(Er2, K4)
Rng5.Copy Destination:=Cells(Er2, K5)
Rng6.Copy Destination:=Cells(Er2, K6)
End With
Next
End Sub