AW: CSV Datei richtig importieren
28.11.2018 15:36:59
PeterK
Hallo
Da Du die Daten im englischen Format hast, kannst Du Excel auch einmal kurzfristig umschalten. Da dies aber nur für den ersten Aufruf gilt (d.h. beim aktualisieren der Query wären wieder die "normalen" Trennzeichen gültig) lösche ich die Query (Vorsicht: ich lösche ALLE)
Sub Test()
ActiveWorkbook.Worksheets.Add
Application.UseSystemSeparators = False
Application.ThousandsSeparator = ","
Application.DecimalSeparator = "."
With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\Users\Documents\Herber\125717.txt", _
Destination:=Range("$A$1"))
.Name = "125717.txt"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = True
.PreserveFormatting = False
.RefreshOnFileOpen = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Dim qt As QueryTable
For Each qt In ActiveSheet.QueryTables
If qt.Refreshing Then qt.CancelRefresh
qt.Delete
Next
Application.ThousandsSeparator = "."
Application.DecimalSeparator = ","
Application.UseSystemSeparators = True
Columns("A:A").Delete Shift:=xlToLeft
End Sub