Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
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

Alle Zellen einer Spalte in einzelne Textdateien speichern

Alle Zellen einer Spalte in einzelne Textdateien speichern
10.01.2021 23:57:56
Adrian
Hallo zusammen
Ich habe mir ein EXCEL erstellt, wo ich mit einem Makro dateien Auslese.
Diese ausgelesenen Daten werden dann im EXCEL bearbeitet. Am Ende stehen in den Zellen der Spalte I, die bearbeiteten Werte.
Diese Werte der Zellen der Spalte I sollen jetzt mittels Makro in Textdateien geschrieben werden.
Es soll pro Zelle eine Textdatei erstellt werden. Dazu soll der Wert aus der entsprechenden Zelle C als Dateiname verwendet werden.
Kann mir hier jemand weiterhelfen?
Ich habe einiges im Netz gefunden. So auch die 2 Beispiele, welche ich etwas angepasst habe. Jedoch werden bei beiden Varianten die Zellen der Spalte I zusammengefasst uns als eine Datei gespeichert.
Ganz herzlichen Dank im Voraus.
Liebe Grüsse Adrian
Variante 1
Sub XML_erzeugen()
Dim strDateiname As String, strPath As String
Dim i As Long, lngZeile As Long
strPath = InputBox( _
prompt:="Verzeichnis eintragen in welchem die Dateien abgelegt werden sollen:",  _
Default:="D:\")
If Right(strPath, 1)  "\" Then strPath = strPath & "\"
strDateiname = "txt_dateiname.xml" 'Dateinamen mit Dateiendung eintragen
lngZeile = Range("I" & Rows.Count).End(xlUp).Row
Open strPath & strDateiname For Output As #1
For i = 1 To lngZeile
Print #1, Cells(i, 9).Value
Next i
Close #1
End Sub

*************************************************************
Variante 2
Sub XML_erzeugen() ' schreibt alle Zellen aus Spalte I(2) in ein xml
Dim intFF As Integer
Dim iZeile As Integer
Dim strDateiname As String
Dim strPath As String
Dim strTemp As String
strPath = InputBox( _
prompt:="Verzeichnis eintragen in welchem die Dateien abgelegt werden sollen:",  _
Default:="D:\")
If Right(strPath, 1)  "\" Then strPath = strPath & "\"
strDateiname = "Test.txt"
intFF = FreeFile
iZeile = 2                                                ' Variable für Zeilennummer
Open strPath & strDateiname For Output As #intFF       ' Öffnet oder erstellt Textdatei zum  _
hineinschreiben
Do Until Cells(iZeile, 9).Value = ""                   ' Schleife: Laufe solange, bis Zelle  _
leer ist
strTemp = Cells(iZeile, 9)                             ' Zellwert an Zwischenspeicher ü _
bergeben
Print #intFF, strTemp                                  ' Zwischenspeicher in TXTDatei  _
schreiben
iZeile = iZeile + 1                                    ' Zeilenzähler erhöhen
Loop                                                   ' zurück zum Schleifenbeginn
Close #intFF                                           ' schließt die Textdatei
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Zellen einer Spalte in einzelne Textdateien speichern
11.01.2021 00:58:06
ralf_b
hier deine variante 2 mit etwas Anderem ausm Netz aufgepimpt.

Sub werteschreiben()
Dim i As Long, cnt As Long
Dim strPath As String, sFilename As String, sWert As String
Dim intFF As Integer
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "D:\"
.Title = "Ordnerauswahl"
.ButtonName = "Auswahl..."
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strPath = .SelectedItems(1)
If Right(strPath, 1)  "\" Then strPath = strPath & "\"
Else
strPath = ""
End If
End With
If strPath = "" Then MsgBox ("Kein Ordner gewählt!"): Exit Sub
For i = 1 To Cells(Rows.Count, "C").End(xlUp).Row
sWert = CStr(Cells(i, "I").Value)
sFilename = strPath & CStr(Cells(i, "C").Value) & ".txt"
If sFilename  "" And sWert  "" Then
If Dir(sFilename) = "" Then
intFF = FreeFile
Open sFilename For Output As #intFF   ' Öffnet oder erstellt Textdatei zum  _
hineinschreiben
Print #intFF, sWert                   ' Zwischenspeicher in TXTDatei schreiben
Close #intFF                          ' schließt die Textdatei
Else
MsgBox "Abbruch - Datei existiert bereits."
End If
Else
MsgBox "ein wert nicht vorhanden"
End If
Next i
End Sub
gruß
rb
Anzeige
AW: Alle Zellen einer Spalte in einzelne Textdateien speichern
11.01.2021 22:35:50
Adrian
Hallo Ralf
Besten Dank für deine Hilfe. Klappt jetzt wunderbar.
Hast du mit noch einen Tipp, damit das erstellen der Dateien erst ab Zeile 3 startet?
Ich habe noch versuch sowas wie das folgende eingebaut. Aber es zeigte keine Wirkung.
iRow = 2 'letzte leere zeile
For i = 1 To Cells(Rows.Count, "C").End(xlUp).Row
iRow = iRow + 1
Lieber Gruss Adrian
For i = 3 To .... owt
12.01.2021 00:05:36
ralf_b

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige