Gibt es eine Möglichkeit zu schreiben, reicht in der Masse zu einer text - /CSV-Datei?
Bin ich auf das schreiben der Inhalte (Werte) von verschiedenen Zellen in eine text-Datei mit dem write-Befehl in VBA, zum Beispiel:
write #myfile, Range("A1").value, Range("A2).value, Range("A3).value
Gibt es eine mehr elegante und komfortable integrierte Methode, dump eine ganze Reihe, die direkt zu einer Datei mit Trennzeichen, vielleicht sogar über mehrere Zeilen gleichzeitig? Oder hat jemand eine maßgeschneiderte Lösung? Ich denke, das wäre unglaublich nützlich.
Siehe meine Lösung unter. Über Variante arrays eher als Bereich Schleifen macht einen riesigen Unterschied zu code-Laufzeit
InformationsquelleAutor Steve06 | 2012-10-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich Ihnen geschrieben habe, dies könnte noch verbessert werden, aber ich denke, es ist gut genug:
Wenn es zu benutzen, nur liefern die tatsächliche Reichweite der tatsächliche Dateiname, und ob oder nicht Sie möchten, um die Datei zu überschreiben. 🙂 Dieser wurde aktualisiert, damit die nicht-zusammenhängende Bereiche. Für verbundene Zellen es wird am Ende setzen Sie den Wert in der ersten Zelle in der zusammengeführten Bereich.
Du hast Recht, dies schlägt fehl für nicht-zusammenhängende Bereiche. Ich werde Entsendung ein update zu beheben, das Problem. 🙂
Schön, aber ist das "SaveAs-Methode" erlauben auch das Anhängen neuer Bereiche auf der Unterseite einer vorhandenen Datei? Meine Vermutung ist, es überschreibt?
Es würde absolut über-schreiben, ich habe gerade aktualisiert, dies wieder so, dass Sie sagen können Excel nicht die Mühe, Sie über die Tatsache, dass Sie überschreiben (sonst wird es Sie Fragen, ob die Datei bereits existiert). Wenn Sie möchten, zum Anhängen an die Datei, ich denke, wir könnten tun, dass durch das öffnen der CSV, herauszufinden, wo hängen die Daten und dann speichern. Aber... es wäre wahrscheinlich sinnvoller, einfach Anhängen mit standard-Datei-I/O da die Datei bereits vorhanden ist.
Ich bearbeitet habe, dies wieder zu erlauben, Sie an Datei Anhängen, aber ich wollte nicht schreiben, um das pop-up, weil ich habe schon ein wenig Zeit auf dieser, und meine Tochter hält, will mich zu stoppen, ignorieren Sie. 🙂
InformationsquelleAutor Daniel
Dies ist die Lösung kam ich mit von mir und passt zu meinen Bedürfnissen am besten so weit wie ich sehen kann:
Kurz und bündig! 😉
Immer noch ich gebe Daniel Kochen s-Lösung, die ist auch sehr nützlich, den Kredit, die es verdient.
InformationsquelleAutor Steve06
Meinen Artikel Erstellen von und Schreiben in eine CSV-Datei mit Excel-VBA
Dieser Artikel enthält zwei VBA-code-Beispiele zum erstellen und zum schreiben in eine CSV-Datei:
Ich bevorzuge die letztere Methode vor allem, wie ich bin, mit der "FileSystemObject" für die weitere Codierung, zum Beispiel die Verarbeitung aller Dateien in Unterordnern rekursiv (obwohl, die Technik ist nicht in diesem Artikel).
- Code Anmerkungen
Code
InformationsquelleAutor brettdj
Diese oben genannten Methoden zum iterieren über die Zelle reicht, um die Daten zu exportieren. Alles, was dazu neigt, zu tun, mit Schleife über einen Bereich von Zellen in dem Blatt ist extrem langsam, durch all die Fehler zu überprüfen.
Hier ist ein Weg, ich Tat es ohne die iteration. Im Grunde macht die Verwendung der eingebauten Funktion "Join()" zu tun, die schweres heben, das wäre die iteration der Schleife. Dies ist viel schneller.
Den zugehörigen Read() Unterroutine, die ich detailliert in einem anderen posting: https://stackoverflow.com/a/35688988/2800701
Dies ist die Write() Unterprogramm (Hinweis: dies setzt Voraus, Ihr text Vorformatiert ist, um die korrekte Spezifikation, die in das Arbeitsblatt, bevor Sie es exportieren; es funktioniert nur auf eine einzelne Spalte...nicht auf mehrere Spalte reicht):
InformationsquelleAutor RexBarker