Try this,
Start at bottom and works up. Only checks column F for empty cells
Sub LastTenEngines()
Dim EngineArray(10, 11) As Long
Dim i As Integer
Dim lngCols(11) As Long
Dim vntCol As Variant
Dim lngRow As Long
Dim lngTopRow As Long
Dim lngCol As Long
For Each vntCol In Split("C,BF,BH,BJ,BL,BN,BP,BR,BT,BV,BX", ",")
lngCol = lngCol + 1
lngCols(lngCol) = Range(vntCol & "1").Column
Next
lngRow = Cells(Rows.Count, 6).End(xlUp).Row ' get last row
' work way back up the rows populating array from last element
i = 10
Do While lngRow >= 9
If Len(Cells(lngRow, 6)) > 0 Then
For lngCol = 1 To 11
EngineArray(i, lngCol) = Cells(lngRow, lngCols(lngCol))
Next
i = i - 1
End If
lngRow = lngRow - 1
If i = 0 Then Exit Do
Loop
End Sub
Bookmarks