Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mehrere Tabellenblätter in .txt exportieren

Mehrere Tabellenblätter in .txt exportieren
07.12.2018 15:12:15
Gerd
Hallo,
ich hänge schon seit langem an diesem Problem fest und ich hoffe hier die passende Antwort zu finden :-)
Ich habe eine Arbeitsmappe mit 10 verschiedenen Tabellenblättern.
In jedem Tabellenblatt soll die Zeile 3 (und dann 4, 5, 6...) kopiert werden und in einer .txt abgespeichert werden. Jede Zelle soll mit einem Semikolon getrennt sein.
Ich habe zum testen mal folgendes probiert:
Dim Bereich As Range
Dim Zeile As Range
Dim zelle As Range
Dim s As String
Sheets(Array("KR Änderdialog", "Matchcode-Suche")).Select
Set Bereich = Range("A3:D24")
Open "c:\Temp\VNR_anlegen_output.txt" For Output As #1
For Each Zeile In Bereich.rows
For Each zelle In Zeile.Cells
s = s & zelle.Text & ";"
Next zelle
s = Left(s, Len(s) - 1)
Print #1, s
s = ""
Next Zeile
Close #1
Das Ganze funktioniert auch soweit, jedoch soll das in einer Schleife erfolgen, bis die letzte Zeile leer ist. Zusätzlich soll der Bereich jedes Arbeitsblattes von mir vorgegeben werden.
Hat hier jemand einen Ansatz?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Tabellenblätter in .txt exportieren
07.12.2018 18:03:43
Herbert
Hallo Gerd,
für diese Anweisung (Sheets(Array("KR Änderdialog", "Matchcode-Suche")).Select) habe ich keine Verwendung gefunden.
Den Suchbereich gibst du ja in dieser Codezeile an: Set Bereich = Range("A3:D24").
Die leere Zelle musst du eben abfragen: If zelle.value = "" then ...
Probiers mal damit, hat bei mir funktioniert:
Sub test()
Dim Bereich As Range, Zeile As Range, zelle As Range, s$
On Error Resume Next
Set Bereich = Range("A3:B25")
Open "E:\1 Dateizwischenlager\VNR_anlegen_output.txt" For Output As #1
For Each Zeile In Bereich.Rows
For Each zelle In Zeile.Cells
If zelle.Value  "" Then
s = s & zelle.Text & ";"
End If
Next zelle
s = Left(s, Len(s) - 1)
Print #1, s
s = ""
Next Zeile
Close #1
End Sub
Servus
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige