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

Forumthread: Auswertung von csv Dateien

Auswertung von csv Dateien
15.09.2016 12:17:33
csv
Hallo,
habe folgendes Problem das ich mit einem Makro lösen möchten:
Ich habe einen Ornder mit mehreren *.csv Dateien. In diesen sind Daten mit Kommata getrennt und sollen nun in verschiedene Spalten geschrieben werden. Wenn ich das manuell über die Funktion Daten aus Text mache, stehen die relevanten Daten in den Zellen A4:A6 und B4:B6.
Anschließend sollen die Daten aus allen .csv Dateien in eine Excel Tabelle übertragen werden, sodass in der Spalte A alle Messwerte aus A4:A6 gesammelt und in Spalte B alle Messwerte aus B4:B6 der einzelnen Tabellen stehen.
1. Import von *.csv in Excel
2. Konsolidierung der Zellen A4:A6 in eine Spalte in neuer Excel Tabelle
Vielen Dank für Eure Hilfe!!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswertung von csv Dateien
15.09.2016 13:18:05
csv
Hallo,
eine relativ einfache Möglichkeit:
Öffne ein cmd-Fenster und gehe in den Ordner mit den csv-Dateien.
Packe alle csv in eine Datei:

copy *.csv alle.txt
Öffne die Datei "alle.txt" in Excel.
mfg
AW: Auswertung von csv Dateien
15.09.2016 13:33:08
csv
Hallo,
dies wäre für eine einmalig Ausführung in der Tat sehr hilfreich. Allerdings soll das Ziel sein, auch zukünftig hinzugefügte Dateien automatisch in die Tabelle aufzunehmen...
Gruß Fabio
Anzeige
AW: Auswertung von csv Dateien
15.09.2016 15:33:11
csv
Hallo,
versuche folgenden Code:
alle csv - Dateien eines Ordners werden eingelesen, wenn neue csv-Dateien dazu kommen, werden NUR die neuen eingelesen.
Der Code braucht zwei Sheets:
- sheets("Daten") für alle Daten aus den csv
- sheets("Dateien") als gedächtnis für die bereits bearbeiteten

Sub test()
Dim rng As Range
Dim sPath As String, sFile As String
sPath = "c:\temp\Daten\"
sFile = Dir(sPath & "*.csv")
With Sheets("Dateien")
Do While Len(sFile)
Set rng = .Columns(1).Find(sFile, LookIn:=xlValues, LookAt:=xlWhole)
If rng Is Nothing Then
lr = .Cells(Rows.Count, "A").End(xlUp).Row + 1
.Cells(lr, "A") = sFile
iEinlesen (sPath & sFile)
End If
sFile = Dir
Loop
End With
End Sub
Sub iEinlesen(iFile)
Application.DisplayAlerts = False
With Sheets.Add(, , , iFile)
lr = Sheets("Daten").Cells(Rows.Count, "A").End(xlUp).Row + 1
.UsedRange.Copy Sheets("Daten").Cells(lr, "A")
.Delete
End With
Application.DisplayAlerts = True
End Sub
mfg
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Auswertung von CSV-Dateien in Excel


Schritt-für-Schritt-Anleitung

  1. CSV-Dateien vorbereiten: Stelle sicher, dass alle CSV-Dateien im gleichen Ordner gespeichert sind. Diese Dateien sollten Daten mit Kommata getrennt enthalten.

  2. Makro aktivieren: Öffne Excel und aktiviere die Entwicklertools. Gehe zu „Entwicklertools“ > „Visual Basic“, um den VBA-Editor zu öffnen.

  3. Neues Modul erstellen: Klicke mit der rechten Maustaste auf „VBAProject (DeineArbeitsmappe)“ und wähle „Einfügen“ > „Modul“.

  4. Code einfügen: Füge den folgenden Code in das Modul ein:

    Sub test()
       Dim rng As Range
       Dim sPath As String, sFile As String
       sPath = "c:\temp\Daten\"
       sFile = Dir(sPath & "*.csv")
       With Sheets("Dateien")
           Do While Len(sFile)
               Set rng = .Columns(1).Find(sFile, LookIn:=xlValues, LookAt:=xlWhole)
               If rng Is Nothing Then
                   lr = .Cells(Rows.Count, "A").End(xlUp).Row + 1
                   .Cells(lr, "A") = sFile
                   iEinlesen (sPath & sFile)
               End If
               sFile = Dir
           Loop
       End With
    End Sub
    
    Sub iEinlesen(iFile)
       Application.DisplayAlerts = False
       With Sheets.Add(, , , iFile)
           lr = Sheets("Daten").Cells(Rows.Count, "A").End(xlUp).Row + 1
           .UsedRange.Copy Sheets("Daten").Cells(lr, "A")
           .Delete
       End With
       Application.DisplayAlerts = True
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro über „Entwicklertools“ > „Makros“ aus. Wähle „test“ und klicke auf „Ausführen“.

  6. Daten kontrollieren: Überprüfe die „Daten“-Tabelle, um sicherzustellen, dass alle CSV-Daten korrekt importiert wurden.


Häufige Fehler und Lösungen

  • Fehler: Datei nicht gefunden: Stelle sicher, dass der Pfad zu den CSV-Dateien korrekt ist und die Dateien tatsächlich existieren.

  • Fehler: Makro läuft nicht: Prüfe, ob Makros in den Excel-Optionen aktiviert sind (Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter).

  • Daten nicht korrekt importiert: Überprüfe die Struktur der CSV-Dateien. Achte darauf, dass die Daten in den erwarteten Spalten sind.


Alternative Methoden

  • Manueller Import: Du kannst auch die Funktion „Daten“ > „Daten abrufen“ > „Aus Text/CSV“ verwenden, um die CSV-Dateien manuell zu importieren und zu formatieren.

  • CMD-Befehl: Nutze den folgenden CMD-Befehl, um alle CSV-Dateien in eine Textdatei zu kopieren:

    copy *.csv alle.txt

    Öffne die „alle.txt“ dann in Excel.


Praktische Beispiele

  • CSV-Dateien auswerten: Nehmen wir an, du hast mehrere CSV-Dateien mit Verkaufszahlen. Mit dem obigen Makro kannst du alle Verkaufsdaten in einer Tabelle konsolidieren, was dir hilft, die Gesamtverkäufe schnell zu analysieren.

  • Datenanalyse mit Pivot-Tabellen: Nach dem Import kannst du Pivot-Tabellen verwenden, um die CSV-Daten auszuwerten und wertvolle Insights zu gewinnen.


Tipps für Profis

  • Automatisierung: Überlege, das Makro so zu erweitern, dass es beim Öffnen der Datei automatisch alle neuen CSV-Dateien importiert.

  • Datenvalidierung: Füge Datenvalidierungsregeln hinzu, um sicherzustellen, dass die importierten Daten korrekt sind, bevor du sie weiterverarbeitest.

  • Backup der Dateien: Es ist sinnvoll, regelmäßig Sicherungskopien deiner CSV-Dateien zu erstellen, um Datenverluste zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass alle neuen CSV-Dateien automatisch importiert werden?
Du kannst das Makro so anpassen, dass es beim Öffnen der Excel-Datei automatisch ausgeführt wird und neue CSV-Dateien importiert.

2. Was mache ich, wenn ich eine Fehlermeldung beim Ausführen des Makros erhalte?
Überprüfe die Makrosicherheitseinstellungen und stelle sicher, dass der Pfad zu den CSV-Dateien korrekt ist. Achte auch darauf, dass die CSV-Dateien nicht geöffnet sind, während das Makro ausgeführt wird.

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