Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Alle csv Dateien aus Ordner importieren

Alle csv Dateien aus Ordner importieren
Daniel
Hallo,
ich würde gerne aus einem bestimmten Ordner
1. alle vorhandenen *.csv files importieren und im aktuellen sheet zeilenweise auflisten (jede csv datei enthält auch nur eine Zeile)
2. nach erfolreichem import die entsprechenden csv dateien löschen
Kann mir jemand zeigen, wie das geht?
Daniel
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Alle csv Dateien aus Ordner importieren
25.10.2010 10:52:11
Rudi
Hallo,
Sub tt()
Dim strFile As String
Dim strDaten, arrTmp
Const cstrFolder As String = "c:\Test\"  'anpassen
Application.ScreenUpdating = False
strFile = Dir(cstrFolder & "*.csv")
Do While strFile  ""
Open cstrFolder & strFile For Input As #1
strDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
arrTmp = Split(strDaten(0), ";")
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, UBound(arrTmp) + 1) = _
WorksheetFunction.Transpose(WorksheetFunction.Transpose(arrTmp))
'Kill cstrFolder & strFile 'Datei löschen
strFile = Dir
Loop
End Sub

Gruß
Rudi
Anzeige
AW: Alle csv Dateien aus Ordner importieren
25.10.2010 11:35:25
Daniel
Danke!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Alle CSV-Dateien aus einem Ordner importieren und löschen


Schritt-für-Schritt-Anleitung

Um alle CSV-Dateien aus einem Ordner zu importieren und diese anschließend zu löschen, kannst du den folgenden VBA-Code verwenden. Diese Anleitung funktioniert in Excel 2010 und neueren Versionen.

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke auf "Einfügen" -> "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Sub ImportAndDeleteCSV()
       Dim strFile As String
       Dim strDaten, arrTmp
       Const cstrFolder As String = "C:\Test\"  ' Anpassen auf deinen Ordner
       Application.ScreenUpdating = False
       strFile = Dir(cstrFolder & "*.csv")
    
       Do While strFile <> ""
           Open cstrFolder & strFile For Input As #1
           strDaten = Split(Input(LOF(1), 1), vbCrLf)
           Close #1
           arrTmp = Split(strDaten(0), ";")
           ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, UBound(arrTmp) + 1) = _
           WorksheetFunction.Transpose(WorksheetFunction.Transpose(arrTmp))
    
           ' Datei löschen
           Kill cstrFolder & strFile
           strFile = Dir
       Loop
    End Sub
  4. Passe den Pfad C:\Test\ an, um den Ordner anzugeben, der die CSV-Dateien enthält.

  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus: Drücke ALT + F8, wähle ImportAndDeleteCSV aus und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Lösung: Überprüfe den angegebenen Pfad. Stelle sicher, dass er korrekt ist und die CSV-Dateien tatsächlich im Ordner vorhanden sind.
  • Fehler: "Ungültiger Dateiformat"

    • Lösung: Stelle sicher, dass die Dateien im CSV-Format vorliegen und richtig formatiert sind. Überprüfe auch, ob die Daten korrekt mit einem Semikolon getrennt sind.
  • Fehler: "Ausführung von Makros wurde deaktiviert"

    • Lösung: Aktiviere die Makros in den Excel-Optionen unter "Trust Center".

Alternative Methoden

Wenn VBA nicht die bevorzugte Methode ist, kannst du auch Power Query verwenden, um CSV-Dateien zu importieren. Hier sind die Schritte:

  1. Gehe zu Daten -> Daten abrufen -> Aus Datei -> Aus Ordner.
  2. Wähle den Ordner mit deinen CSV-Dateien aus.
  3. Klicke auf "Transformieren", um die Daten nach deinen Wünschen anzupassen.
  4. Lade die Daten in dein Arbeitsblatt.

Praktische Beispiele

Angenommen, du hast einen Ordner mit den Dateien Daten1.csv, Daten2.csv und Daten3.csv. Jede Datei hat eine Zeile mit den Werten A;B;C. Nach Ausführung des Makros werden die Daten in deinem aktuellen Arbeitsblatt wie folgt aussehen:

A   B   C

Danach sind die CSV-Dateien im Ordner gelöscht.


Tipps für Profis

  • Automatisierung: Du kannst den Import und das Löschen der Dateien automatisieren, indem du das Makro regelmäßig über die Windows-Aufgabenplanung ausführst.
  • Error Handling: Füge Error-Handling in deinen VBA-Code ein, um unerwartete Probleme besser zu verwalten.
  • Datenvalidierung: Überprüfe die importierten Daten, bevor du die Dateien löschst, um sicherzustellen, dass alles korrekt importiert wurde.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um nur bestimmte CSV-Dateien zu importieren?
Du kannst die Bedingung für strFile anpassen, um nur bestimmte Dateien zu importieren, z.B. durch Hinzufügen einer speziellen Datei-Erweiterung oder eines Namensmusters.

2. Was passiert, wenn eine CSV-Datei leer ist?
Das Makro wird die leere Zeile ignorieren. Du kannst jedoch zusätzlichen Code hinzufügen, um leere Dateien zu überprüfen und zu handhaben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige