Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Import von CSV-Daten

Import von CSV-Daten
03.02.2023 13:19:05
CSV-Daten
Guten Mittag allerseits,
ich habe folgendes Problem und zugegeben bin ich erst am Anfang mit VBA zu programmieren. Generell weiß ich durch Recherche wie ich eine CSV-Datei mit VBA importieren kann. Ich habe jetzt genau immer eine einzige CSV Datei in einem Ordner auf dem Desktob, was auch so bleiben wird. Diese verändert aber immer den Namen und das Datum. Gibt es einen Befehl der mir sagt egal wie die CSV-Datei heist importiere sie mir in Excel. (Über das trennen von Komma und Punkte mache ich mir noch keine Gedanken aktuell:-D). Das nächste Problem ist ja der Pfad der so bspw. aussieht C:\Users\MaxMustermann\Desktop. Das funktioniert auf meinem PC aber wenn das bspw. mein Kollege versucht wird das nicht funktionieren. Gibt es auch hier eine Generalisierung die sagt egal auf welchem PC öffne Ordner XYC und importiere mir die darinliegende CSV-Datei.
Oder ist das was ich vor habe gar nicht umsetzbar?
Viele Grüße und ein schönes Wochenende!

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

Betreff
Datum
Anwender
Anzeige
AW: Import von CSV-Daten
03.02.2023 13:57:32
CSV-Daten
Hallo,
den Namen der .CSV erhältst du mit
DerDateiName = Dir(Environ("userprofile") &"\desktop\*.csv", vbNormal)
Gruß
Rudi
AW: Import von CSV-Daten
03.02.2023 14:10:17
CSV-Daten
Hi
Vorschlag ohne VBA. Vielleicht funktioniert es, vielleicht auch nicht. Mal ausprobieren. Ansonsten bitte die Frage wieder als offen Kennzeichnen, dann müsste man wahrscheinlich doch mit VBA an die Aufgabe ran.
- Menü Daten, Daten Abrufen, Aus anderen Quellen, Leere Abfrage
- Power-Query Editor öffnet
- Menü Ansicht, Erweiterter Editor, Code hineinkopieren
- Speichern und Laden
Es wird gemäss Vorgabe einfach die erste gefundene CSV-Datei genommen.
In folgender Zeile müsstest du das Trennzeichen und die Anzahl Spalten definieren:
QuelleErsteCSVDatei = Csv.Document(List.First(#"Gefilterte Zeilen"[Content]),[Delimiter=";", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None]),
let
    // Username ermitteln
    QuelleAlleUser = Folder.Contents("C:\Users\"),
    #"Expanded Attributes" = Table.ExpandRecordColumn(QuelleAlleUser, "Attributes", {"Hidden", "Directory", "ChangeTime"}, {"Hidden", "Directory", "ChangeTime"}),
    #"Filtered Directories not hidden" = Table.SelectRows(#"Expanded Attributes", each ([Directory] = true) and ([Hidden] = false)),
    #"Removed Errors" = Table.RemoveRowsWithErrors(#"Filtered Directories not hidden", {"ChangeTime"}),
    #"Filtered Rows" = Table.SelectRows(#"Removed Errors", each ([Name] > "Public")),
    #"Username" = #"Filtered Rows"{0}[Name],
    // Ordnerabfrage auf Desktop und CSV-Dateien filtern
    QuelleDesktop = Folder.Files("C:\Users\" & #"Username" & "\Desktop"),
    #"Gefilterte Zeilen" = Table.SelectRows(QuelleDesktop, each ([Extension] = ".csv")),
    // Erste CSV-Datei auflösen und Titelzeile einfügen
    QuelleErsteCSVDatei = Csv.Document(List.First(#"Gefilterte Zeilen"[Content]),[Delimiter=";", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Höher gestufte Header" = Table.PromoteHeaders(QuelleErsteCSVDatei, [PromoteAllScalars=true])
in
    #"Höher gestufte Header"
cu
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige