HERBERS Excel-Forum - das Archiv

Thema: Excel Werte aus Range in Text untereinander.

Excel Werte aus Range in Text untereinander.
Lutz Hoffmann
Hallo zusammen,

für ein ehrenamtliches Livestreamprojekt benötige ich aus Excel heraus eine Textdatei zum Einlesen in ein Grafikprogramm.
Die Excel berechnet aus einem Turnier (4 Mannschaften) heraus eine Tabelle.

B3 = Team A, C3= Anzahl Spiele, D3 = Punkte, E3 = geschossene Tore, F3= :, G3= geschossene Tore, H3 = Tordifferenz
B4 = Team B, C4= Anzahl Spiele, D4 = Punkte, E4 = geschossene Tore, F4= :, G4= geschossene Tore, H4 = Tordifferenz
B5 = Team C, ...
B6 = Team D, ...


Ich habe es geschafft, mir aus dieser Tabelle die Werte (B3:H6) in einer Textdatei auszugeben.
B3 - H3 ist im Ergebnis in der Textdatei jeweils eine Zeile.
B4 - H4 jeweils eine ...
B5 - H5 jeweils eine ...
B6 - H6 jeweils eine ...

Inhalt der Textdatei (start)
Team A,3,9,9,:,2,7
Team B,3,4,5,:,4,1
Team C. 3,3,4,:,7,-3
Team D,3,1,2,:,7,-5
(ende)

Folgende Fragestellung:
Wie muss ich meinen Code umschreiben, dass er mir im Ergebnis statt des Kommas einen Zeilenumbruch macht?

B3= Zeile 1
C3= Zeile 2
D3= Zeile 3
E3= Zeile 4
F3= Zeile 5
G3= Zeile 6
H3= Zeile 7
B4= Zeile 8
C4= Zeile 9
D4= Zeile 10
E4= Zeile 11
F4= Zeile 12
G4= Zeile 13
H4= Zeile 14
...
H6 = Zeile 28

Ich danke schon mal im Voraus und gebe einen virtuellen Kaffee aus.

Sub TXTerstellen()

Dim Dateiname As String, Zeilentext As String
Dim MeinBereich As Range, i, j

Dateiname = "Testdatei.txt" 'Name meine Ausgabedatei

Open Dateiname For Output As #1

Set MeinBereich = Range("B3:H6") 'Daten
For i = 1 To MeinBereich.Rows.Count
For j = 1 To MeinBereich.Columns.Count
Zeilentext = IIf(j = 1, "", Zeilentext & ",") & MeinBereich.Cells(i, j)
Next j
Print #1, Zeilentext
Next i

Close #1

End Sub
AW: Excel Werte aus Range in Text untereinander.
Onur
Ohne die Datei ist der Code wertlos.
Probiere es...
Case
Moin, :-)

... so: ;-)
Zeilentext = IIf(j = 1, "", Zeilentext & vbCrLf) & MeinBereich.Cells(i, j)

Servus
Case
AW: Probiere es...
Lutz Hoffmann
Herzlichen Dank für die unkomplizierte Hilfe. Funktioniert. Danke und ich sende hiermit den virtuellen Kaffee.
AW: Excel Werte aus Range in Text untereinander.
Yal
Hallo Lutz,

VBA wird nicht in chinesische Zeichen geschrieben. Man kann es lesen. Wenn man es auch noch laut (ja, ok, nicht im Großraumbüro!) und auf Deutsch liest, entdeckt man ziemlich viel, was man verstehen kann.

Versuche mit
Sub TXTerstellen()

Dim Z As Range
Const Dateiname = "Testdatei.txt" 'Name meine Ausgabedatei

Open Dateiname For Output As #1
For Each Z In Range("B3:H6")
Print #1, Z.Value
Next
Close #1
End Sub


VG
Yal
AW: Excel Werte aus Range in Text untereinander.
Kuwer
Hallo Lutz,

Sub TXTerstellen_ZuSpalte()

Dim Dateiname As String
Dim MeinBereich As Range
Dim i as Long, j as Long

Dateiname = "Testdatei.txt" 'Name meine Ausgabedatei

Open Dateiname For Output As #1

Set MeinBereich = Range("B3:H6") 'Daten
For i = 1 To MeinBereich.Rows.Count
For j = 1 To MeinBereich.Columns.Count
Print #1, MeinBereich.Cells(i, j).Value
Next j
Next i

Close #1
End Sub

Gruß, Uwe