Tabellenblatt als .txt speichern

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von LimondaOne.

    Tabellenblatt als .txt speichern

    Hi Leute!
    Ich bins wieder.
    Unzwar bin ich auf der Suche nach folgendem.
    Ich will, dass man per klick auf botton, sich das aktuelle Tabellenblatt als .txt speichert.
    Ist sowas überhaupt mir Vba excel möglich?

    So in dieser art hier :
    Hi.

    Es gibt eine einfache und eine aufwändige Variante.

    Die einfache: Benutze die SaveAs-Funktion des Excel-Objektmodells, um die Tabelle als csv-Datei zu speichern. Das Ergebnis kannst du dann in .txt umbenennen.
    Die aufwändige: Öffne eine Textdatei, iteriere durch alle Zellen (geschachtelte Schleifen) und schreibe den Wert Zelle für Zelle in die geöffnete Datei. Als Trennzeichen solltest du das Komma verwenden, damit die Datei später einfach importiert werden kann.
    Gruß
    hal2000

    LimondaOne schrieb:

    Ist sowas überhaupt mir Vba excel möglich?


    Prinzipiell kann man (fast) alles, was man "per Hand" in Excel machen kann, auch in Excel-VBA realisieren (also auch das Speichern als CSV- oder Textdatei). Um den Code herauszufinden, kann man den gewünschten Vorgang als Makro aufzeichnen. Man sollte jedoch immer prüfen, ob man den Code an den eigenen Code anpassen muss bzw. wo man evtl. zusätzliche Methoden oder Variablen einbauen muss.
    Hi, danke euch zwei!
    Sehr nett

    aber hat sich nun geklärt :) hab den Code gefunden :)
    Für die, die es auch anwenden wollen :

    Visual Basic-Quellcode

    1. Private Sub CommandButton2_Click()
    2. Dim i
    3. Dim Pfad$
    4. Pfad = Application.GetSaveAsFilename(InitialFileName:="Test", _
    5. fileFilter:="Textdateien (*.txt), *.txt")
    6. 'Pfad gegebenenfalls ändern
    7. Open Pfad For Output As #1
    8. i = 2
    9. Do While Cells(i, 1).Value <> ""
    10. Print #1, CDate(Cells(i, 1)) & ";" & Cells(i, 2) & ";" & Cells(i, 3)
    11. i = i + 1
    12. Loop
    13. Close
    14. End Sub

    eigentlich ganz simpel :P eigentlich ^^