Zellinhalte in eine textdatei schreiben

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Stelein.

    Zellinhalte in eine textdatei schreiben

    Hallo
    ich "Anfänger" suche eine Lösung für folgendes Problem,
    ich möchte die Inhalte von Zelle z.B C1-C10 in eine Textdatei schreiben bzw. kopieren, so das c1, c2, c2...usw jeweils in einer eigenen Zeile stehen
    z.B
    Inhalt C1
    Inhalt C2
    Inhalt C3
    dafür gibt es sicherlich eine einfache Lösung, leider bin ich über Suchfunktion noch nicht fündig geworden, vieleicht könnt Ihr mir ja weiterhelfen ??
    Gruß Gueni

    ich hab was gefunden, past aber nicht ganz, wer kann helfen ???

    Hallo,
    ich habe selbst was gefunden, bzw angepast, aber es entspricht nicht ganz meinen bedürfnissen, habe nun schon Tagegelang drann rumgespielt, schaffe es aber leider nicht, es dorthin zu bringen das es past, wer kann helfen ???
    Hier die zwei Varianten
    --------------------------------------------------------------------------------------------------------------------------------
    Sub schreiben in Texdatei
    ' schreibt alle Zellen aus Spalte B (1) in eine Textdatei
    Dim intFF As Integer
    Dim iZeile As Integer
    Dim strDatei As String
    Dim strTemp As String

    strDatei = "c:\test.txt"
    intFF = FreeFile
    iZeile = 1

    Open strDatei For Output As #intFF
    Do Until Cells(iZeile, 1).Value = ""
    strTemp = Cells(iZeile, 1)
    Print #intFF, strTemp
    iZeile = iZeile + 1
    Loop
    Close #intFF
    End Sub
    Problemm hier ist: ich möchte gerne genau angeben können das z.B. aus Arbeitsblatt Tabelle2, die Zellen B1 bis B20 in die Textdatei geschrieben werden.
    ------------------------------------------------------------------------------------------------------------------------------
    Variante 2:
    Sub schreiben in Textdatei
    Dim rngS As Range
    Dim strPathAndFileName As String
    Dim vntArray As Variant
    Dim lngFN As Long
    strPathAndFileName = "c:\test.txt"
    Set rngS = ActiveWorkbook.Worksheets("Tabelle2").Range("B1:B20")
    vntArray = rngS.Value

    'File falls schon vorhanden entfernen
    If Len(Dir(strPathAndFileName)) > 2 Then
    Kill strPathAndFileName
    End If

    'File schreiben
    lngFN = FreeFile
    Open strPathAndFileName For Binary As lngFN
    Put lngFN, 1, vntArray
    Close lngFN

    End Sub
    ---------------------------------------------------------------------------------------------------------------------------
    Das funktioniert super, leider werden aber die Zellinhalte in binärer Form hintereinander weg geschrieben, ich möchte aber jeden Zellinhalt in einer seperaten Zeile haben, so wie es das Beispiel 1 händelt, wer kann mir helfen, wäre sehr dankbar ! :)
    VG
    Gueni
    Versuch er das:

    Visual Basic-Quellcode

    1. Private Sub speichern()
    2. Dim f As Integer
    3. Dim c As Variant
    4. Dim DateiName As String
    5. f = FreeFile
    6. DateiName = "C:\Users\Peter\exceltest.txt"
    7. On Error GoTo Fehler
    8. If Dir(DateiName) <> "" Then '*
    9. Open DateiName For Append As f '*
    10. Print #f, vbCrLf '*
    11. Print #f, Format(Now, "dd.mm.yyyy hh:mm:ss") '*
    12. Else '*
    13. Open DateiName For Output As f
    14. End If '*
    15. For Each c In Worksheets("Tabelle1").Range("B1:B20")
    16. Print #f, c
    17. Next
    18. Fehler:
    19. If Err.Number <> 0 Then
    20. MsgBox Err.Description, vbCritical + vbOKOnly, "Fehler:" & Err.Number
    21. Err.Clear
    22. End If
    23. Close f
    24. On Error GoTo 0
    25. End Sub


    Wenn die Datei schon existiert, wird unten weiter angehangen. Vorneweg dann Datum und Uhrzeit. Wenn das nicht so sein soll, dann die Zeilen mit den '* Weglassen.
    Gruß
    Peterfido

    Keine Unterstützung per PN!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „peterfido“ ()