Sub GPE()
Dim Darr, Arr(), i As Long, k As Long
Darr = Range("C3:E" & Range("E65500").End(xlUp).Row)
ReDim Arr(1 To UBound(Darr), 1 To 7)
On Error Resume Next
For i = 1 To UBound(Darr)
If Darr(i, 1) <> "" Then
k = k + 1
Arr(k, 1) = Darr(i, 1)
Arr(k, 2) = Darr(i, 2)
Arr(k, 3) = Darr(i + 1, 2)
Arr(k, 6) = Darr(i, 3)
Arr(k, 7) = Darr(i + 1, 3)
i = i + 1
ElseIf Darr(i + 1, 1) <> "" Then
Arr(k, 5) = Darr(i, 3)
ElseIf Darr(i, 3) <> "" Then
If Darr(i - 1, 2) <> "" Then
Arr(k, 4) = Darr(i, 3)
Else
Arr(k, 4) = Arr(k, 4) & " - " & Darr(i, 3)
End If
End If
Next i
Range("G3").Resize(k, 7) = Arr
End Sub