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

Forumthread: Import csv-Datei: bestimmte Zeilen

Import csv-Datei: bestimmte Zeilen
10.02.2015 21:40:37
Patrick
Guten Abend Fachleute,
ich muss derzeit viele csv-Dateien einlesen, ablegen, dokumentieren.
Jetzt suche ich nach einer Möglichkeit wie ich per Makro eine csv-Datei (oder geht auch alle aus einem bestimmten Verzeichnis?) so importiere, dass ich
- in die Excelspalte B den Dateinamen der csv-Datei
- in Excelspalte C die erste Spalte der zweiten (!) Zeile der csv-Datei
- in Excelspalte D die zweite Spalte der zweiten Zeile
- in Excelspalte F die erste Spalte der letzten Zeile
- in Excelspalte G die zweite Spalte der letzten Zeile
Die csv-Datei ist aktuell so formatiert, dass ein "." als Dezimaltrenner und ein "," als Spaltentrenner eingesetzt ist. Ich könnte das per hand auch vorher editieren in ";" wenn es einfacher für das Makro ist!?
Konnte ich mich verständlich ausdrücken? ich hoffe...und freu mich auf eure Ideen.
Danke, Patrick

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Import csv-Datei: bestimmte Zeilen
11.02.2015 05:55:17
Oberschlumpf
Hi Patrick
du weißt schon, dass deine Frage mit Wünschen nix anderes ist als Auftragsprogrammierung, oder?
Dazu könnt ich dir diesen Link empfehlen:
https://www.herber.de/develop.html
Ich hab aber keine Ahnung, wie hoch der Stundenlohn ist, den du bezahlen müsstest.
Wenn du aber nicht nur Ziele + Wünsche formulierst, sondern auch n paar Bsp-Csv-Dateien per Upload! zur Verfügung stellst, kann es vielleicht sein, dass doch der Eine oder die Andere dir helfen könnte.
Aber ganz so ohne Bsp-Dateien?!...hmmm
Ciao
Thorsten

Anzeige
AW: Import csv-Datei: bestimmte Zeilen
11.02.2015 08:21:20
Patrick
Hi Thorsten,
pardon. Das war nicht mein Ansinnen. Ich hab es wohl zu sehr präzisiert.
Ich werde diesen Thread als "beantwortet" anhaken und eine neue Anfrage starten.
Danke für den Hinweis.
Gruß,
Patrick
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Importieren von CSV-Dateien in Excel: Bestimmte Zeilen extrahieren


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe auf die Registerkarte „Entwicklertools“. Falls diese nicht sichtbar ist, aktiviere sie über die Excel-Optionen.

  2. Erstelle ein neues Makro:

    • Klicke auf „Visual Basic“ und dann im VBA-Editor auf „Einfügen“ > „Modul“.
  3. Füge den folgenden VBA-Code ein:

    Sub ImportCSV()
       Dim csvFile As String
       Dim wb As Workbook
       Dim ws As Worksheet
       Dim lastRow As Long
       Dim line As String
       Dim data() As String
    
       csvFile = Application.GetOpenFilename("CSV-Dateien (*.csv), *.csv", , "Wähle eine CSV-Datei")
    
       If csvFile = "False" Then Exit Sub
    
       Set wb = ThisWorkbook
       Set ws = wb.Sheets(1)
    
       Open csvFile For Input As #1
       lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row + 1
    
       ' Lies die erste Zeile
       Line Input #1, line
    
       ' Lies die zweite Zeile
       Line Input #1, line
       data = Split(line, ",")
       ws.Cells(lastRow, 2).Value = Dir(csvFile) ' Dateiname
       ws.Cells(lastRow, 3).Value = data(0) ' Erste Spalte der zweiten Zeile
       ws.Cells(lastRow, 4).Value = data(1) ' Zweite Spalte der zweiten Zeile
    
       ' Lies die letzte Zeile
       Do While Not EOF(1)
           Line Input #1, line
           data = Split(line, ",")
       Loop
       ws.Cells(lastRow, 6).Value = data(0) ' Erste Spalte der letzten Zeile
       ws.Cells(lastRow, 7).Value = data(1) ' Zweite Spalte der letzten Zeile
    
       Close #1
    End Sub
  4. Führe das Makro aus und wähle die gewünschte CSV-Datei aus. Das Skript importiert die Daten automatisch in die entsprechenden Spalten.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Stelle sicher, dass der Dateipfad korrekt ist und die CSV-Datei im richtigen Format vorliegt.
  • Fehler: "Ungültiges Format"

    • Überprüfe, ob das Trennzeichen in deiner CSV-Datei wirklich ein Komma ist. Wenn nicht, passe den Code entsprechend an.
  • Fehler: "Leere Zellen"

    • Möglicherweise sind in der CSV-Datei leere Zeilen vorhanden. Stelle sicher, dass die Datei korrekt formatiert ist.

Alternative Methoden

Falls du keine Makros verwenden möchtest, kannst du auch die Funktion „Daten importieren“ in Excel nutzen:

  1. Gehe auf „Daten“ > „Daten abrufen“ > „Aus Datei“ > „Aus Text/CSV“.
  2. Wähle die CSV-Datei aus und folge dem Importassistenten.

Diese Methode ist einfacher, bietet jedoch nicht die gleiche Flexibilität wie ein Makro.


Praktische Beispiele

Beispiel 1: Einfache CSV-Datei

  • Datei: beispiel.csv
    Name,Alter
    Max,30
    Lisa,25
  • Importiere die Datei, um den Namen und das Alter in die entsprechenden Spalten zu bekommen.

Beispiel 2: CSV-Datei mit mehreren Zeilen

  • Datei: daten.csv
    ID,Beschreibung
    1,Produkt A
    2,Produkt B
    3,Produkt C
  • Der Import zeigt die erste und letzte Zeile im Excel-Blatt an.

Tipps für Profis

  • Verwende relative Pfade für den Import von Dateien, um die Portabilität deines Makros zu erhöhen.
  • Teste dein Makro mit verschiedenen CSV-Dateien, um sicherzustellen, dass es robust ist.
  • Füge Fehlerbehandlungsroutinen hinzu, um unerwartete Probleme zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich mehrere CSV-Dateien gleichzeitig importieren? Ja, du kannst das Makro anpassen, um eine Schleife über alle Dateien in einem Verzeichnis zu erstellen.

2. Was mache ich, wenn meine CSV-Datei ein anderes Trennzeichen verwendet? Ändere den Split(line, ",")-Befehl im Code in das entsprechende Trennzeichen, z.B. Split(line, ";") für Semikolons.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige