Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
03.05.2023 12:12:18 |
Daniel |
|
|
 CSV datei einlesen und als copy speichern |
03.05.2023 12:59:30 |
Gast4005 |
|
|
|
03.05.2023 14:26:46 |
Gast78666 |
|
|
Von:
Gast4005 |
Datum:
03.05.2023 12:59:30 |
Views:
555 |
Rating:
|
Antwort:
|
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:
- Begrifflichkeiten sind wichtig; falsch verwendete Begriffe verwirren andere nur.
- mach dich vorher schlau, was wie genannt wird (z.B. in der Dokumentation)
- 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
- 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
- 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.
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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 |
|
|
 CSV datei einlesen und als copy speichern |
03.05.2023 12:59:30 |
Gast4005 |
|
|
|
03.05.2023 14:26:46 |
Gast78666 |
|
|