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

schreiben in TXT klappt leider nicht

schreiben in TXT klappt leider nicht
12.05.2013 11:58:00
Jürgen
Hallo alle Zusammen,
ich sehe wahrscheinlich den Wald vor lauter Bäumen nicht.
Ich möchte von Excel in eine TXT Datei schreiben.
Der Speicherort und der Name steht Sheets("Stammdaten_1").Range("E2") (z.B. c:\test.txt)
Die Daten wo in die Datei geschrieben werden sollen stehen in Sheets("Datenblatt_2") von A1 - A800
10038,2222,1,NR:2222;2,TX:'Milchtüte klein';7,NR:3
10189,:51
10189,1:51,1INT:2
10189,2:51,1INT:2
10189,3:51,1INT:2
usw.
Der Datensatz beginnt mit einer Headerzeile "10000,1,1,1;24,a;51,1;10,"und einer Zahl ( Maschinennummer) welche in Stammdaten_2 steht von E2 - E200 steht - ist in einer Zelle nur der Wert 0 soll diese übersprungen werde.
1
0
3
4
5
0
0
usw.
Also Aufbau sollte so sein
10000,1,1,1;24,a;51,1;10,1 (die 1 ist die Maschinennummer Stammdaten_2 E2-E200)
10038,2222,1,NR:2222;2,TX:'Milchtüte klein';7,NR:3
10189,:51
10189,1:51,1INT:2
10189,2:51,1INT:2
10189,3:51,1INT:2
wenn die Routine mit der ersten Maschinennummer fertig ist soll im Anschluss geprüft werden gibt es eine Maschinennummer 2 wenn ja Datensatz wie oben anhängen andernfalls überspringen und nächste Zeile (Stammdaten_2 E2 - E200) prüfen.
Ich hatte schon mal ein ähnliches Projekt und da habe ich folgenden Code verwendet, leider klappt der nicht
Private Sub CommandButton1_Click()
P = Sheets("Stammdaten_1").Range("E2")
X = Sheets("Stammdaten_2").Range("E2")
Dim Zei As Long, strZeilen As String
With Worksheets("Datenblatt_2")
For Zei = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(Zei, 1).Value  "" Then
strZeilen = strZeilen & "10000,1,1,1;24,a;51,1;10," & .Cells(Zei, 1).Value & vbCrLf
strZeilen = strZeilen & X & vbCrLf & vbCrLf
End If
Next Zei
End With
Close
Open P For Output As #1
Print #1, Left(strZeilen, Len(strZeilen) - 4)
Close #1
End Sub
Das was mit obigen Code erzeugt wird sieht so aus
10000,1,1,1;24,a;51,1;10,10038,2222,1,NR:2222;2,TX:'Milchtüte klein';7,NR:3
1
10000,1,1,1;24,a;51,1;10,10189,:51
1
10000,1,1,1;24,a;51,1;10,10189,1:51,1INT:2
1
10000,1,1,1;24,a;51,1;10,10189,2:51,1INT:2
1
10000,1,1,1;24,a;51,1;10,10189,3:51,1INT:2
1
also Total Banane :-(
Kann mir jemand helfen?
Danke bereits im Voraus

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: schreiben in TXT klappt leider nicht
13.05.2013 11:33:29
Flock
Hallo Jürgen,
Die Maschinendaten in A1:A800 - sind die für alle Maschinen in Spalte E die gleichen ? Wenn nicht, in welcher Zeile fängt ein Datenblock an und in welcher hört er auf ?
Gruß
Flock
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige