Herbers Excel-Forum - das Archiv

Excel-Dokument als txt-Datei speichern

Bild

Betrifft: Excel-Dokument als txt-Datei speichern
von: Sonja
Geschrieben am: 01.11.2003 11:47:31
Hallo,
ich möchte alle Excel-Dokumente eines Verzeichnisses als txt-Dateien in ein anderes Verzeichnis speichern. Dabei soll als Trennzeichen verwendet werden. Ich habe dafür auch schon ein Makro, allerdings tritt dabei folgendes Problem auf: Alle Zellen, in denen ein Komma-Wert steht (z.B. 11,5) wird in der txt-Datei nicht korrekt ausgegeben. Der Wert wird in Hochkommas eingepackt (z.B. "11,5").
Hat jemand eine Idee, wie ich das Problem lösen kann?

Bild

Betrifft: Welches Trennzeichen denn? o.w.T.
von: Reinhard
Geschrieben am: 03.11.2003 01:08:45
.
Bild

Betrifft: AW: Excel-Dokument als txt-Datei speichern
von: sonja
Geschrieben am: 03.11.2003 10:17:58
sorry, das Trennzeichen soll sein
Bild

Betrifft: Beschreib mal bitte das Trennzeichen :-) o.w.T.
von: Reinhard
Geschrieben am: 03.11.2003 11:18:09
.
Bild

Betrifft: AW: Beschreib mal bitte das Trennzeichen :-) o.w.T.
von: Sonja
Geschrieben am: 03.11.2003 13:43:38
auf ein drittes,...Tabulator, ;-)muß wohl doch noch was üben
Bild

Betrifft: AW: Excel-Dokument als txt-Datei speichern
von: Reinhard
Geschrieben am: 03.11.2003 12:06:47
Hi Sonja,
meine Glaskugel sagt mir du wolltest Tab als Trennzeichen, dann probier das folgende
Makro.
Gruß
Reinhard



Sub Makro3()
Workbooks.Add
ActiveCell.FormulaR1C1 = "a"
Range("B1").Select
ActiveCell.FormulaR1C1 = "b"
Range("C1").Select
ActiveCell.FormulaR1C1 = "c"
Range("D1").Select
ActiveCell.FormulaR1C1 = "d"
Range("A2").Select
ActiveCell.FormulaR1C1 = "e"
Range("B2").Select
ActiveCell.FormulaR1C1 = "11,5"
Range("C2").Select
ActiveCell.FormulaR1C1 = "11.5"
Range("D2").Select
ActiveCell.FormulaR1C1 = "f"
Range("A3").Select
ActiveCell.FormulaR1C1 = "0,2"
Range("B3").Select
ActiveCell.FormulaR1C1 = "dde"
Range("C3").Select
ActiveCell.FormulaR1C1 = "ijfi"
Range("D3").Select
ActiveCell.FormulaR1C1 = "oio"
Range("A3").Select
MsgBox "Tabelle ist erzeugt"
Close
Open "c:\temp\tabtestung.txt" For Output As #1
For n = 1 To Cells(1, 1).End(xlDown).Row
Zeile = Cells(n, 1)
For m = 2 To Cells(n, 1).End(xlToRight).Column
Zeile = Zeile & vbTab & Cells(n, m)
Next m
Print #1, Zeile
Next n
Close #1
End Sub


Bild

Betrifft: AW: Excel-Dokument als txt-Datei speichern
von: Sonja
Geschrieben am: 03.11.2003 16:31:05
mit "Print" hatte ich das nicht ausprobiert, die Idee ist gut!
Allerdings funktioniert Dein Makro nur solange, wie keine leeren Zellen vorkommen. Hast Du vielleicht eine Idee, wie ich dieses Problem lösen kann?
Bild

Betrifft: AW: Excel-Dokument als txt-Datei speichern
von: Reinhard
Geschrieben am: 03.11.2003 19:08:53
Hallo Sonja,
das liegt an dem "End", es stoppt wenn danach ne leere Zelle kommt.
Aber man kann das umgehen in dem man andersrum sucht.
Anstatt
For n = 1 To Cells(1, 1).End(xlDown).Row
einsetzen:
For n = 1 To Cells(65536, 1).End(xlup).Row
und für:
For m = 2 To Cells(n, 1).End(xlToRight).Column
For m = 2 To Cells(n, 256).End(xlToleft).Column
einsetzen.
Gruß
Reinhard
ps: ungetestet, müßte aber klappen
Bild

Betrifft: AW: Excel-Dokument als txt-Datei speichern
von: sonja
Geschrieben am: 04.11.2003 08:59:01
es klappt, super, danke!
Bild

Betrifft: Danke dir für die Rückmeldung
von: Reinhard
Geschrieben am: 05.11.2003 21:07:58
.
 Bild
Excel-Beispiele zum Thema " Excel-Dokument als txt-Datei speichern"
Zelleingaben speichern Die "personl"-Arbeitsmappe ausgeblendet speichern
Formeln mit Zelladressen speichern Bestätigung beim Speichern unterdrücken.
Arbeitsmappe unter dem Text eines Zelleintrags speichern Einzelnes Tabellenblatt speichern
Mappe unter Zelldatum speichern Arbeitsmappe doppelt speichern
Arbeitsmappe unter Namen speichern Programmabbruch bei Überspeichernabfrage verhindern