Anzeige
Archiv - Navigation
1008to1012
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Export Tabstopp-getrennt

Export Tabstopp-getrennt
08.09.2008 17:04:00
Bonnie
Hallo zusammen,
ich versuche seit Tagen aus einer Excel-Datei, von Blatt (2), die Spalten 1-7 in eine
eigene txt.-Datei, Tabstopp-getrennt zu exportieren.
Wenn ich das Makro aufzeichne, funktioniert es zwar, ist aber keine schöne Lösung :-))
Ich habe verschieden Lösungsansätze im Netz gefunden, keine funktioniert so richtig.
Die Beste war diese hier:

Sub XLS_nach_TXT_Export()
Dim Dateiname As String
Dim Zeile As Long
Dim Spalte As Integer
Dim GanzeZeile As String
Dim Trennzeichen As String
Dateiname = ThisWorkbook.Path & Application.PathSeparator& "Dienstplan.txt"
Zeile = 1
Spalte = 1
Trennzeichen = Chr(9) ' Chr(9) = Tabulator
Open Dateiname For Output As 1
For Zeile = 1 To ActiveSheet.UsedRange.Rows.count
' Alle benutzten Spalten der aktiven Tabelle werden durchlaufen
For Spalte = 1 To ActiveSheet.UsedRange.Columns.count
GanzeZeile = GanzeZeile & Trennzeichen & Cells(Zeile, Spalte).Value
Next Spalte
Print #1, GanzeZeile
GanzeZeile = ""
Next Zeile
Close #1
End Sub


Jedoch wird in der erzeugten txt.-Datei bei Spalte A ein Tab vorne an gestellt, so dass
die gesamte Textdatei am Anfang eine Leerspalte enthält....
Kann mir vielleicht jemand verraten warum?
Gruß
Bonnie

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Export Tabstopp-getrennt
08.09.2008 17:30:04
Luschi
Hallo Bonnie,
versuch es mal so:

If "" = GanzeZeile Then
GanzeZeile = Cells(Zeile, Spalte).Value
Else
GanzeZeile = GanzeZeile & Trennzeichen & Cells(Zeile, Spalte).Value
End If

Gruß von Luschi
aus klein-Paris

AW: Export Tabstopp-getrennt
08.09.2008 20:16:00
Erich
Hi Bonnie,
das würd ich so schreiben:

For Zeile = 1 To ActiveSheet.UsedRange.Rows.Count
' Alle benutzten Spalten der aktiven Tabelle werden durchlaufen
GanzeZeile = Cells(Zeile, 1).Value
For Spalte = 2 To ActiveSheet.UsedRange.Columns.Count
GanzeZeile = GanzeZeile & Trennzeichen & Cells(Zeile, Spalte).Value
Next Spalte
Print #1, GanzeZeile
GanzeZeile = ""
Next Zeile

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Export Tabstopp-getrennt
09.09.2008 08:22:00
Bonnie
@ Luschi
ich wusste nicht wohin mit Deinem Code :-)), trotzdem danke für die Antwort
@Erich
das funktioniert! ich habe nur noch bei Spalte auf 2 to 7 geändert (das Blatt enthält mehr Spalten als benötigt) und dann ging es.... Ich wüßte nur noch gerne warum ich bei Spalte 2 anfangen muss....
Vielen Dank für die Hilfe!
Gruß
Bonnie
AW: Export Tabstopp-getrennt
09.09.2008 08:51:00
Erich
Hallo Bonnie,
Spalte A (=1) wird doch schon erledigt durch die Zeile
GanzeZeile = Cells(Zeile, 1).Value
Dahinter werden dann Trennzeichen und Werte der Spalten 2 bis 7 geschrieben.
Drei Zeilen waren noch überflüssig:
Zeile = 1
Spalte = 1
GanzeZeile = ""
Damit würde ich das jetzt so schreiben:

Dateiname = ThisWorkbook.Path & "\Dienstplan.txt"
Trennzeichen = Chr(9) ' Chr(9) = Tabulator
Open Dateiname For Output As #1
For Zeile = 1 To ActiveSheet.UsedRange.Rows.Count
' Spalten 1 bis 7 der aktiven Tabelle werden durchlaufen
GanzeZeile = Cells(Zeile, 1).Value
For Spalte = 2 To 7
GanzeZeile = GanzeZeile & Trennzeichen & Cells(Zeile, Spalte).Value
Next Spalte
Print #1, GanzeZeile
Next Zeile
Close #1

Die Variable Trennzeichen ist auch überflüssig, stattdessen kannst du kürzer
GanzeZeile = GanzeZeile & Chr(9) & Cells(Zeile, Spalte).Value
schreiben.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Export Tabstopp-getrennt
10.09.2008 08:44:29
Bonnie
Hallo Erich,
Super! Jetzt versteh ich es auch :-))
Danke nochmal, meine Woche ist gerettet.
Gruß
Bonnie

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige