Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

.csv Datei als Text importieren

.csv Datei als Text importieren
16.08.2018 13:49:54
Charlotte
Schönen guten Tag,
ich bin grad auf der Suche nach der Lösung für mein Problem.
Es ist wahrscheinlich relativ simpel.
Ich muss mehrere .csv-Dateien importieren. Code dafür steht auch und funktioniert super.
Einziges Problem ist das Textformat. Ich hab so blöde Zahlen, wie 24.2 drin, die Excel natürlich (was soll es auch sonst sein) zum 24. Februar macht.
Kann ich in dem Code etwas hinzufügen, dass die .csv direkt als Text importiert?
Genau dies hat sonst per Hand immer geholfen.
Sub Rename_Files()
'(C) Ramses
'Liest alle CSV-Dateien in einem Verzeichnis ein
Dim Datei As String, freeCol As Long
Dim Qe As Integer
Dim PFAD As String
PFAD = "Y:\ATB\00_Friedrichs\SKT\GOM CSV Dateien\" 'ACHTUNG: Bachslash am Schluss
Datei = Dir(PFAD & "*.csv")
Qe = MsgBox("Zum Import muss die aktuelle Tabelle leer sein," & vbCrLf & _
"bzw. alle Daten der aktuellen Tabelle: "" " & ActiveSheet.Name & " "" werden gelöscht", _
vbYesNo + vbCritical, "CSV-Import starten ?")
If Qe = vbNo Then
MsgBox "CSV-Import abgebrochen"
Exit Sub
Else
Cells.Clear
End If
Do While Datei  ""
If Cells(2, Columns.Count).End(xlToLeft).Column = 1 Then
freeCol = 1
Else
freeCol = Cells(2, Columns.Count).End(xlToLeft).Column + 1
End If
Cells(1, freeCol) = Datei
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & PFAD & Datei, Destination:=Cells(2, _
freeCol))
.Name = Datei
.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 = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Datei = Dir()
Loop
End Sub
Dies ist der Code.
Schonmal vielen vielen Dank für Antworten.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format setzen
16.08.2018 14:00:48
Fennek
Hallo,
mit dieser Zeile wird das Format bestimmt:

.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
Sieh bitte in der Hilfefunktion nach, vermutlich bedeutet "1": Zahl; "2": Text.
mfg
AW: Format setzen
16.08.2018 14:06:56
Charlotte
Super Danke!
Witzigerweise klappt es bei allen .csv Dateien (sind insgesamt 8), nur bei der ersten nicht.
Da steht noch immer das vermeintliche Datum.
AW: Format setzen und Thema ist erledigt
16.08.2018 14:09:50
Charlotte
Mir fällt auch grade auf, dass das Thema damit schon gelöst ist.
Ich brauch nicht zwingend den ersten Wert, der als "Datum" geschrieben ist.
Vielen lieben Dank nochmal!
Anzeige
TextFileDecimalSeparator
16.08.2018 14:06:44
ChrisL
Hi
Ich vermute...
https://msdn.microsoft.com/de-de/vba/excel-vba/articles/querytable-textfiledecimalseparator-property-excel
cu
Chris

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige