Live-Forum - Die aktuellen Beiträge
Datum
Titel
25.06.2024 10:26:31
25.06.2024 08:19:20
Anzeige
Archiv - Navigation
1456to1460
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
VBA csv Import
04.11.2015 10:51:12
David
Hallo,
ich möchte über VBA eine csv Datei öffenen.
Die Daten darin waren durch das Zeichen | getrennt, ich habe sie aber bereits getrennt abgespeichert. Jeder Wert steht also schon in einer seperaten Spalte.
Mein Code sieht so aus:
Quelle = Application.GetOpenFilename( _
FileFilter:="XLSX Files (*.xlsx),*.xlsx,CSV Files (*.csv),*.csv", _
Title:="Select a file or files", _
MultiSelect:=False)
Da ich über die gleiche Funktion auch xlsx datei öffnen möchte, habe ich beide Formate hinerelgt (falls das so geht?!)
Wenn ich den Code so ausführen lasse und die csv Datei öffne, sieht sie aber ganz anders aus, als wenn ich sie ganz nomal über den Explorer öffene.
Jetzt sind plötzlich wieder Daten verbunden (mit ; verknüpft).
Wa mach ich falsch?
Danke und Gruß
David

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA csv Import
05.11.2015 11:43:51
matthias
Hallo David,
das liegt daran, dass eine CSV-Datei, mit Excel geöffnet, konvertiert wird denn Excel denkt selbständig mit. Deshalb wird es auch schön angezeigt.
Importierst du deine CSV nun, so folgt Excel stumpf der Import-Routine, was zu deinem Problem führt. Das liegt aber nicht an Excel, sondern an deinen Einstellungen für den Import.
In deinem Code sollte etwas in der Art vorkommen, richtig?:
With ActiveSheet.QueryTables.Add(Connection:="TEXT;Quelle", _
Destination:=Range("$A$1"))
.Name = "Beispielname"
.FieldNames = True
.RowNumbers = False
End With

Dort musst du beim Import beide Trennzeichen angeben.
        .TextFileSemicolonDelimiter = True
.TextFileOtherDelimiter = "|"
lg Matthias

Anzeige
AW: VBA csv Import
06.11.2015 14:04:00
David
Hallo,
danke für die Antwort:
mein Code sieht komplett so aus:
Function DateiÖffnen()
Dim Quelle As Variant
ChDrive ("G:\")
ChDir ("G:\XXX")
'Quelle = Application.GetOpenFilename("Microsoft Excel-Dateien,*.xlsx")
Quelle = Application.GetOpenFilename( _
FileFilter:="XLSX Files (*.xlsx),*.xlsx,CSV Files (*.csv),*.csv", _
Title:="Select a file or files", _
MultiSelect:=False)
If Quelle  False Then
Workbooks.Open Filename:=Quelle, UpdateLinks:=1
DateiÖffnen = True
Else
DateiÖffnen = False
End If
End Function

An welcher Stelle müsste denn der Code von Matthias hier ergänzt werden?
Danke udn Gruß
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige