Thema Datum  Von Nutzer Rating
Antwort
03.05.2023 12:12:18 Daniel
NotSolved
Blau CSV datei einlesen und als copy speichern
03.05.2023 12:59:30 Gast4005
NotSolved
03.05.2023 14:26:46 Gast78666
NotSolved

Ansicht des Beitrags:
Von:
Gast4005
Datum:
03.05.2023 12:59:30
Views:
292
Rating: Antwort:
  Ja
Thema:
CSV datei einlesen und als copy speichern

Ich möchte aus einem Ordner mit über 3000 csv Dateien, jeweils eine CSV Datei in eine vorhandende Excel Datei einlesen und diese dann als normal xlxs Datei speichern.

Ok soweit.

Die ursprüngliche Excel Datei hat über 15 Arbeitsmappen.

Ergibt keinen Sinn, denn eine Excel Datei IST eine Arbeitsmappe (engl.: Workbook).

Die CSV Datei soll in die Arbeitsmappe 'RawData' einglesen werden (Semikolon Trennung).

Seltsam, in deinem Code ist RawData ein Tabellenblatt (engl.: Worksheet).

Wenn die Daten eingelesen sind, soll die Datei gespeichert werden, der Name der neuen Datei ist in Zelle RawData A284 und RawData J284.

Welche Datei?

Nach erfolgreich erstellter Excel Datei soll die CSV Datei aus dem Ornder gelöscht werden.

Ok.

 

Kurzum:

  1. Begrifflichkeiten sind wichtig; falsch verwendete Begriffe verwirren andere nur.
    • mach dich vorher schlau, was wie genannt wird (z.B. in der Dokumentation)
  2. In deinem Fall sollte bei Refresh noch BackgroundQuery := False angegeben werden, es ist zumindest sauberer als es wegzulassen.
    • das bewirkt, dass der Code erst fortgesetzt wird, wenn alle Daten gesammelt wurden / vorhanden sind
  3. Mac ist anders als Windows. So funktionieren manche Dinge nicht wie unter Windows gewohnt.
    • Dir() und Platzhalter funktioniert unter Mac nicht
    • das wüsstest du, wenn du dir die Dokumentation von Dir() zu Gemüte geführt hättest
    • ERINNERUNG: Forum konsultieren kommt NACH Dokumentation lesen
  4. SaveCopyAs kann den Dateityp nicht ändern.
    • Du führst den Code in einer xlsm aus und versucht diese xlsm dann als xlsx zu speichern -> korrupte Datei
    • besser wäre:
      • newFilename = ...
      • Worksheets("RawData").Copy ' kopiert das Blatt ein eine neue Mappe
      • ActiveWorkbook.SaveAs(newFilename, XlFileFormat.xlOpenXMLWorkbook) ' speichert die neue Mappe als xlsx
      • ActiveWorkbook.Close() ' schließt die neue Mappe

 

Grüße

PS: Ich habe den Code nur kurz überflogen.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
03.05.2023 12:12:18 Daniel
NotSolved
Blau CSV datei einlesen und als copy speichern
03.05.2023 12:59:30 Gast4005
NotSolved
03.05.2023 14:26:46 Gast78666
NotSolved