Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA CSV-Datei Öffnen

VBA CSV-Datei Öffnen
22.06.2007 12:43:00
Gilligan
Hallo Forumler,
ich möchte per VBA eine CSV-Datei öffnen (Semikolon getrennt), dann Werte herauslesen und anschließend wieder schließen. Habe es mit der:
Workbooks.Open Filename:=dateiname(i)
Methode versucht. Auch die Eigenschaften:
ReadOnly:=True, Format:=4
haben keine Abhilfe geschafen. Wenn ich die Datein mit Doppelklick aus dem Explorer öffne oder aus Excel, dann separiert er die Spalten. Mit dem Code nicht. Was mach ich verkehrt?
Danke für die Hilfe.

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA CSV-Datei Öffnen
22.06.2007 12:49:00
Rudi
Hallo,
benutze die OpenText-Methode.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: VBA CSV-Datei Öffnen
22.06.2007 12:57:00
Gilligan
Habe bereits folgendes probiert:
Workbooks.OpenText "c:\test\test.csv", _
DataType:=xlDelimited, Semicolon:=False, _
tab:=False, comma:=True, _
Space:=False, other:=False, otherchar:=False
geht aber auch nicht!

Anzeige
AW: VBA CSV-Datei Öffnen
22.06.2007 13:02:02
Rudi
Hallo,
kann auch nicht, wenn du Semicolon:=False setzt.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: VBA CSV-Datei Öffnen
22.06.2007 13:08:00
Gilligan
Hast Recht. Kopierfehler!
Folgendes geht aber nicht:
Workbooks.OpenText Filename:=dateiname(i), DataType:=xlDelimited, Semicolon:=True, Tab:=False, comma:=False, Space:=False, other:=False, otherchar:=False

Anzeige
AW: VBA CSV-Datei Öffnen
22.06.2007 13:35:00
Gilligan
Habe es mit einem Datenimport gelöst. Also eine leere Tabelle mit den Daten füllen und danach wieder löschen.
With Workbooks("Kraftdatenexport.xls").Sheets("Daten").QueryTables.Add(Connection:="TEXT;" & dateiname(i), _
Destination:=Range("A1"))
.Name = "Daten"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Die Lösung der CSV-Öffnung würde mich trotzdem interessieren.

Anzeige
AW: VBA CSV-Datei Öffnen
22.06.2007 14:56:00
Rudi
Hallo,
VBA und CSV ist ein Thema für sich.
Prinzipiell kannst du es so machen:

Sub readCSV()
Dim strTxt As String, myarr, lngL As Long
Open "n:\test\daten.csv" For Input As #1
Do Until EOF(1)
Line Input #1, strTxt
myarr = Split(strTxt, ";")
Range(Cells(lngL, 1), Cells(lngL, UBound(myarr) + 1)) = myarr
lngL = lngL + 1
Loop
Close #1
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

CSV-Datei mit VBA in Excel öffnen


Schritt-für-Schritt-Anleitung

Um eine CSV-Datei mit VBA in Excel zu öffnen, kannst Du folgende Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)" und wähle Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub CSVDateiOeffnen()
       Dim dateiname As String
       dateiname = "C:\Pfad\zu\deiner\datei.csv" ' Passe den Pfad zur Datei an
       Workbooks.OpenText Filename:=dateiname, DataType:=xlDelimited, Semicolon:=True
    End Sub
  4. Führe das Makro aus: Schließe den VBA-Editor und führe das Makro über Entwicklertools > Macros aus.

Mit dieser Methode kannst Du eine CSV-Datei öffnen, die durch Semikolons getrennt ist.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"
    Lösung: Überprüfe den Pfad zur CSV-Datei. Stelle sicher, dass die Datei existiert und der Pfad korrekt eingegeben ist.

  • Fehler: Spalten werden nicht korrekt getrennt
    Lösung: Achte darauf, dass Du Semicolon:=True im OpenText-Befehl angibst, wenn die CSV-Datei semikolongetrennt ist.

  • Fehler: Makro funktioniert nicht
    Lösung: Stelle sicher, dass Makros in Deiner Excel-Installation aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen.


Alternative Methoden

Falls Du die CSV-Datei öffnen möchtest, ohne Excel zu verwenden, kannst Du auch andere Programme nutzen:

  • Texteditor: Öffne die CSV-Datei in einem einfachen Texteditor wie Notepad oder Notepad++. Dies ist nützlich, um den Inhalt schnell zu überprüfen.

  • Excel-Import: Du kannst die CSV-Datei auch über Daten > Aus Text/CSV importieren. Diese Methode bietet eine benutzerfreundliche Oberfläche zur Auswahl des Trennzeichens.


Praktische Beispiele

Hier sind einige praktische Beispiele für das Öffnen einer CSV-Datei mit VBA:

  • CSV-Datei mit Tabulatoren:

    Sub CSVTabulatorOeffnen()
       Dim dateiname As String
       dateiname = "C:\Pfad\zu\deiner\datei.csv"
       Workbooks.OpenText Filename:=dateiname, DataType:=xlDelimited, Tab:=True
    End Sub
  • CSV-Datei mit Kommas:

    Sub CSVKommaOeffnen()
       Dim dateiname As String
       dateiname = "C:\Pfad\zu\deiner\datei.csv"
       Workbooks.OpenText Filename:=dateiname, DataType:=xlDelimited, comma:=True
    End Sub

Diese Beispiele zeigen, wie Du verschiedene CSV-Dateien je nach Trennzeichen öffnen kannst.


Tipps für Profis

  • Nutze QueryTables, um Daten effizient aus CSV-Dateien zu importieren, besonders bei großen Datenmengen. Diese Methode ermöglicht es, die Formatierung und Struktur der Daten besser zu steuern.

  • Speichere häufig verwendete Makros in einer personalisierten Symbolleiste, um den Zugriff zu erleichtern.

  • Wenn Du regelmäßig mit CSV-Dateien arbeitest, erwäge die Erstellung von benutzerdefinierten Funktionen oder Subroutinen, um Deine Arbeitsabläufe zu automatisieren.


FAQ: Häufige Fragen

1. Wie öffne ich eine CSV-Datei ohne Excel?
Du kannst eine CSV-Datei mit einem Texteditor oder einem speziellen CSV-Viewer öffnen. Es gibt auch Programme, die speziell für die Bearbeitung von CSV-Dateien entwickelt wurden.

2. Kann ich eine CSV-Datei mit VBA in eine bestehende Excel-Datei importieren?
Ja, das ist möglich. Du kannst die QueryTables-Methode verwenden, um Daten aus einer CSV-Datei in ein bestimmtes Arbeitsblatt einer bestehenden Excel-Datei zu importieren.

3. Was sind die Unterschiede zwischen Workbooks.Open und OpenText?
Workbooks.Open öffnet eine Excel-Datei, während OpenText speziell für das Öffnen von Textdateien wie CSVs entwickelt wurde und zusätzliche Parameter für die Trennzeichen bietet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige