007007b
Goto Top

Excel Zeilen als separate .txt Dateien ausgeben

Liebe Administrator Community,

ich habe in diesem Forum bereits einen ähnlichen Beitrag zu folgendem Problem gefunden, jedoch ist dieser veraltet und passt nicht speziell auf meine Frage (den anschließenden Code habe ich diesem entnommen und nach bestem Gewissen angepasst). Ich habe eine Excel Tabelle mit mehreren Tausenden Zeilen der Spalte A, welche alle als einzelne .txt Dateien auf meinem Rechner landen sollen. Folglich ist der Inhalt der Zeile auch der Inhalt des Textdokumentes.

Sub ErstelleDateien()
Ziel = "C:\Dateiordner" #<- habe ich hier natürlich richtig benannt
Stellen = 5
Typ = ".txt"
AbZeile = 1
Spalte = "A"

Zeile = AbZeile
Nr = 1000001

Set fso = CreateObject("Scripting.FileSystemObject")
If Right(Ziel, 1) <> "\" Then Ziel = Ziel & "\"

Do While Cells(Zeile, Spalte).Value <> ""
fso.CreateTextFile(Ziel & Right(Nr, Stellen) & Typ).Write Cells(Zeile, Spalte).Value
Zeile = Zeile + 1
Nr = Nr + 1
Loop
End Sub

Nutze ich den vorangegebenen Code, so erhalte ich den Laufzeitfehler '5'. Handelt es sich um zu viele zu bearbeitende Zeilen? Versuche ich den Code durch F8 in Einzelschritten durchlaufen zu lassen, so ist bei dem dritten Dokument Schluss. Ich habe einen Test mit der gleichen Anzahl an Zeilen gemacht, wo der Inhalt der Zeilen lediglich aus ein paar Zeichen bestand, da ging es. Mache ich das jetzt mit den Zeilen (die mehrere Sätze enthalten), erscheint geschildertes Problem.

Über Hilfe würde ich mich freuen, vielen Dank im voraus!

Grüße 007007B

Content-Key: 1594470536

Url: https://administrator.de/contentid/1594470536

Ausgedruckt am: 28.03.2024 um 22:03 Uhr

Mitglied: NordicMike
NordicMike 07.12.2021 aktualisiert um 07:07:19 Uhr
Goto Top
Du schließt die Datei gar nicht mehr. Drittes Dokument klingt für mich wie drei Dateien, die du dann ständig offen hältst.

    Set a = fso.CreateTextFile(Ziel & Right(Nr, Stellen) & Typ).Write Cells(Zeile, Spalte).Value
    a.Close
Mitglied: 007007B
007007B 07.12.2021 um 14:20:14 Uhr
Goto Top
Zitat von @NordicMike:

Du schließt die Datei gar nicht mehr. Drittes Dokument klingt für mich wie drei Dateien, die du dann ständig offen hältst.

>     Set a = fso.CreateTextFile(Ziel & Right(Nr, Stellen) & Typ).Write Cells(Zeile, Spalte).Value
>     a.Close
> 

Vielen Dank für deine Antwort! Wo genau soll das ergänzt werden? Wenn ich das versuche reinzuschreiben, wird mir ein Syntaxfehler entgegengebracht.
Mitglied: NordicMike
NordicMike 08.12.2021 um 06:57:48 Uhr
Goto Top
Das war ein Beispiel, das muss nicht ergänzt werden, so sollte dein Code aussehen.
Google einfach danach wie man eine geöffnete Datei wieder schließt.