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

Forumthread: csv-Datei per Makro importieren, vorher auswählen

csv-Datei per Makro importieren, vorher auswählen
Friedrich
Hallo zusammen,
ich möchte per Makro eine csv-Datei in Excel importieren und weiterbearbeiten.
Dies klappt schon mit folgendem Makro:

Sub test3()
Application.Workbooks.OpenText Filename:="Dateipfad\Dazeiname", DataType:=xlDelimited,  _
Semicolon:=True, Local:=True
End Sub

Nun möchte ich aber noch den Dateipfad/Dateinamen variabel gestalten, d.h. im Makro auswählbar machen. Was muss ich tun?
Vielen ank für Eure Hilfe,
Gruß Friedrich
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: csv-Datei per Makro importieren, vorher auswählen
13.09.2011 13:13:12
Piet
Hallo Friedrich,
versuchs mal so:

Sub test3()
Dim V as String
With Application.FileDialog(msoFileDialogFilePicker)
.Show
V = .SelectedItems(1)
End With
Application.Workbooks.OpenText FilenameV, DataType:=xlDelimited,  _
Semicolon:=True, Local:=True
End Sub

Gruß
Piet
Anzeige
AW: csv-Datei per Makro importieren, vorher auswählen
13.09.2011 13:22:09
Friedrich
Hallo Piet,
vielen Dank für die schnelle Antwort!
Wenn ich das Mkro ausführe, bleibt der Debugger hängen an der Zeile
Application.Workbooks.OpenText FilenameV DataType:=xlDelimited, _
Semicolon:=True, Local:=True
Nehme an, dass "FilenameV" für eine Variable steht, die dort dann wieder fest verdrahten muss?
Dies soll aber variabel sein...
Gruß Friedrich
Anzeige
AW: csv-Datei per Makro importieren, vorher auswählen
13.09.2011 13:32:36
Piet
Hallo Friedrich,
entschuldige, richtig muss die Stelle heißen "Filename:=V, "
Das habe wohl zu schnell eingefügt und abgesendet. Also zwischen Filename und V ein := und hinter das V ein Komma (,).
Gruß
Piet
AW: csv-Datei per Makro importieren, vorher auswählen
13.09.2011 13:38:56
Friedrich
Super, jetzt klappts :-)
vielen Dank Piet.
LG Friedrich
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

CSV-Datei per Makro in Excel importieren


Schritt-für-Schritt-Anleitung

Um eine CSV-Datei in Excel mit einem Makro zu importieren und den Dateipfad variabel zu gestalten, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul, indem du im Menü auf Einfügen und dann auf Modul klickst.

  3. Füge den folgenden VBA-Code in das Modul ein:

    Sub test3()
       Dim V As String
       With Application.FileDialog(msoFileDialogFilePicker)
           .Show
           V = .SelectedItems(1)
       End With
       Application.Workbooks.OpenText Filename:=V, DataType:=xlDelimited, _
           Semicolon:=True, Local:=True
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, indem du ALT + F8 drückst, das Makro test3 auswählst und auf Ausführen klickst.

  6. Wähle die gewünschte CSV-Datei aus und klicke auf Öffnen.

Mit diesen Schritten kannst du die CSV-Datei in Excel importieren und dabei den Dateipfad dynamisch auswählen.


Häufige Fehler und Lösungen

  • Fehler: "Anwendungsfehler."

    • Lösung: Stelle sicher, dass der Dateipfad korrekt angegeben ist. Achte darauf, dass du den richtigen Dateinamen und die Dateierweiterung verwendest.
  • Fehler: "Kompatibilitätsproblem."

    • Lösung: Überprüfe, ob die Excel-Version, die du verwendest, die Funktionen des VBA-Codes unterstützt. Dies könnte insbesondere bei Excel 365 der Fall sein.
  • Fehler: "Der Debugger bleibt hängen."

    • Lösung: Achte darauf, dass du Filename:=V korrekt geschrieben hast. Ein fehlendes := kann dazu führen, dass das Makro nicht funktioniert.

Alternative Methoden

Falls du den CSV-Import in Excel automatisieren möchtest, gibt es auch alternative Methoden:

  1. Power Query: Du kannst Power Query verwenden, um CSV-Dateien zu importieren. Dies ermöglicht eine einfachere Datenbearbeitung und -transformation.
  2. Excel-Datenimport: Gehe zu Daten > Daten abrufen > Aus Datei > Aus Text/CSV, um manuell eine Datei auszuwählen.
  3. Makros automatisieren: Du kannst auch ein Excel-Makro erstellen, das regelmäßig eine CSV-Datei importiert, indem du den VBA-Code in eine geplante Aufgabe einfügst.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du CSV-Dateien in Excel importieren kannst:

  • Beispiel 1: Importiere eine CSV-Datei mit Verkaufsdaten.
  • Beispiel 2: Automatisiere den Import von monatlichen Finanzberichten, indem du ein Makro erstellst, das die Daten automatisch abruft und in Excel einfügt.

Ein einfaches Makro dafür könnte so aussehen:

Sub ImportSalesData()
    Dim filePath As String
    filePath = "C:\Daten\Verkaufsdaten.csv"
    Application.Workbooks.OpenText Filename:=filePath, DataType:=xlDelimited, _
        Semicolon:=True, Local:=True
End Sub

Tipps für Profis

  • Optimierung der Importgeschwindigkeit: Verwende die Application.ScreenUpdating-Einstellung, um die Bildschirmaktualisierung während des Imports zu deaktivieren.
  • Datenvalidierung: Füge nach dem Import eine Datenvalidierung hinzu, um sicherzustellen, dass die importierten Daten korrekt sind.
  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung im Makro, um Probleme beim Import zu identifizieren und zu beheben.

FAQ: Häufige Fragen

1. Wie kann ich mehrere CSV-Dateien gleichzeitig importieren? Du kannst eine Schleife im VBA-Code verwenden, um durch eine Liste von CSV-Dateien zu iterieren und diese nacheinander zu importieren.

2. Kann ich die CSV-Datei auch ohne VBA importieren? Ja, du kannst die CSV-Datei über die Optionen im Menü Daten importieren, ohne VBA zu verwenden. Wähle dazu Daten > Daten abrufen > Aus Text/CSV.

3. Welche Excel-Versionen unterstützen den CSV-Import über Makros? Die meisten modernen Excel-Versionen, einschließlich Excel 365, unterstützen den Import von CSV-Dateien über VBA-Makros. Achte darauf, die richtige Syntax zu verwenden, um Kompatibilitätsprobleme zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige