La macro que elaboré porque teóricamente tu archivo *.txt estaba dividido por "tab"s pero no es así, está dividido por espacios, aunque propiamente dicho lo que ha hecho el programa que creo ese, o esos, archivo(s) es asignarle un número de columna fija con lo que, en realidad, bastaría usar Microsoft Query, a través de VBA, para poder extraer dicha información, ah, claro, puede hacerse eso desde cualquier archivo *.txt de esos, siempre y cuando realmente todos tengan los campos en las columnas supuestas.
Sub ProcesoTXT()
Dim NombreArchivo As String
NombreArchivo = Application.GetOpenFilename()
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & NombreArchivo, Destination:=Range("$A$1"))
        .Name = "Mis datos"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 14
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(23, 20, 32, 32, 32, 36, 6, 14, 14, 10)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End SubAh, claro, esos parámetros de las columnas lo he hecho basado en tu ejemplo de *.txt, si tus otros archivos tienen más columnas, vas a tener que adaptarlo.  Prueba y comentas
Abraham Valencia