Per importare i dati dal file txt potresti provare questa procedura VBA.
Vedi questo file di esempio (dove modificare il percorso e il nome del file).
https://www.dropbox.com/s/8vok7djp97fgtc3/Excel%20vba%20lettura%20file%20txt.xlsm?dl=0
questo il codice presente nel modulo1:
'---
Option Explicit
Sub LetturaFileTxt()
Const strFile_Path As String = "D:\Dropbox\Microsoft it office excel\MioFile.txt"
Const sNomeFoglioDestinazione As String = "Foglio1"
Const sPrimaCellaDestinazione As String = "A1"
Dim WsDest As Worksheet
Dim rngDest As Range
Set WsDest = ThisWorkbook.Worksheets(sNomeFoglioDestinazione)
Set rngDest = WsDest.Range(sPrimaCellaDestinazione)
WsDest.Cells.ClearContents
With WsDest.QueryTables.Add(Connection:="TEXT;" & strFile_Path, _
Destination:=rngDest)
.Name = "XXXXX"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells 'xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1251
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(xlDMYFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
.Delete
End With
End Sub
'---
nota che a parte il primo campo impostato come giorno/mese/anno gli altri quattro sono impostati come testo perché non conosco la tua situazione reale.
Vedi la proprietà .TextFileColumnDataTypes dove agire per impostare il formato dei campi.
ciao