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