Excel-Dokument als txt-Datei speichern

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
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

Beiträge aus den Excel-Beispielen zum Thema " Excel-Dokument als txt-Datei speichern"