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

Erzeugte Textdatei ansprechen

Erzeugte Textdatei ansprechen
03.04.2017 10:47:38
Franzi
Hallo ihr Lieben,
ich habe einen Code, der für jede Zeile eine neue Datei erstellt (Textdatei oder neue Excelmappe).
Wenn eine Bedingung zutrifft, möchte ich nun die zuletzt erzeugte Textdatei aufrufen können, um eine neue Zeile hinzuzufügen.
If ActiveCell = ActiveCell.Offset(1) Then
m = ActiveCell.Offset(1)
m = Cells(ActiveCell.Offset.Row, ActiveCell.Offset.Column)
Open Pfad For Input As #1
Print #1, m
Close #1
End If

So habe ich das versucht, aber das funktioniert leider nicht -.-
Kann mir bitte jemand helfen ?
Lg :)

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erzeugte Textdatei ansprechen
03.04.2017 10:55:19
ChrisL
Hi Franzi
Hinzufügen geht mit "Append"
Open Pfad For Append As #1
Den Inhalt deiner Zellen kann ich nicht überprüfen.
Offset braucht es nur, wenn auch wirklich ein Offset ("verschieben") vorliegt. Variable m überschreibst du.
m = Cells(ActiveCell.Offset.Row, ActiveCell.Offset.Column)
entspricht
m = ActiveCell
cu
Chris
AW: Erzeugte Textdatei ansprechen
03.04.2017 13:53:40
Franzi

Sub imaSchnittstelle()
'letzte befüllte Zeile des Tabellenblattes wird ermittelt
lz = Sheets("KFL_allePrgr_23032017").Cells(Rows.Count, "A").End(xlUp).Row
'In diesem Verzeichnis werden die Textdateien gespeichert --> kann verändert werden
Pfad = "C:\Users\Desktop\Textdateien für IMA Schnittstelle\"
For i = 8 To 15
x = Cells(i, 1)
'Öffnet bei jedem Schleifendurchlauf eine neue Textdatei
Open Pfad & x & ".txt" For Output As #1
'Diese Spalten werden in die Textdatei reingeschrieben --> kann verändert werden
Print #1, Cells(i, 1) & "                                        ;" & "0000;"
Print #1, "0010" & "                              ;" & Cells(i, 10) & "                ;" &  _
Cells(i, 10) & _
"                ;" & Cells(i, 18) & ";" & _
Cells(i, 17) & ";" & Cells(i, 5) & ";" & Cells(i, 9) & ";" & Cells(i, 16) & ";" & Cells(i, 11) & _
_
"                      ;" & Cells(i, 20) & ";" & Cells(i, 21)
'Schließt und speichert die geöffnete Datei
Close #1
'Springt in die nächste Zeile, sofern die Bedinung noch erfüllt ist
Next i
'Wenn die untere Zeile gleich ist, dann:
If ActiveCell = ActiveCell.Offset(1) Then
m = ActiveCell.Offset(1)
Open Pfad For Append As #1
Print #1, m
Close #1
End If
'Benachrichtigung, dass Textdateien gespeichert wurden
MsgBox " Die Textdateien wurden im Verzeichnis: C:\Users\Desktop\Textdateien für IMA  _
Schnittstelle gespeichert"
End Sub

so sieht mein Code momentan aus, aber wie gesagt, tut nicht das, was er tun soll -.-
Anzeige
AW: Erzeugte Textdatei ansprechen
03.04.2017 10:55:39
Rudi
Hallo,
du solltest mal die Hilfe lesen.
Was soll das?: m = Cells(ActiveCell.Offset.Row, ActiveCell.Offset.Column)
OffSet(Zeilen, Spalten)!!!
Wenn du anfügen willst: Open Pfad For Append As #1
Gruß
Rudi
AW: Erzeugte Textdatei ansprechen
03.04.2017 13:30:20
Franzi
Danke, aber das funktioniert nicht so ganz wie ich möchte :/
Es öffnet mir die zuletzt gespeicherte Datei, aber das soll es nicht, da habe ich mich wohl falsch ausgedrückt ..
Es soll nur die erste Spalte verglichen werden :
Wenn in der ersten Spalte zwei oder mehrere Werte untereinander gleich sind, so sollen diese zusammen in eine Textdatei gespeichert werden.
Momentan erzeugt mein Code für jede Zeile eine neue Datei, soll es auch, aber für die Werte, die in der ersten Spalte untereinander mehrfach vorkommen, soll eben nur eine Datei erzeugt werden :/
Was kann ich da machen ?
Liebe Grüße
Anzeige
AW: Erzeugte Textdatei ansprechen
03.04.2017 13:47:11
ChrisL
Hi Franzi
Bitte Beispieldatei und den vollständigen Code.
cu
Chris
AW: Erzeugte Textdatei ansprechen
03.04.2017 13:56:15
Franzi

Sub imaSchnittstelle()
'letzte befüllte Zeile des Tabellenblattes wird ermittelt
lz = Sheets("KFL_allePrgr_23032017").Cells(Rows.Count, "A").End(xlUp).Row
'In diesem Verzeichnis werden die Textdateien gespeichert --> kann verändert werden
Pfad = "C:\Users\Desktop\Textdateien für IMA Schnittstelle\"
For i = 8 To 15
x = Cells(i, 1)
'Öffnet bei jedem Schleifendurchlauf eine neue Textdatei
Open Pfad & x & ".txt" For Output As #1
'Diese Spalten werden in die Textdatei reingeschrieben --> kann verändert werden
Print #1, Cells(i, 1) & "                                        ;" & "0000;"
Print #1, "0010" & "                              ;" & Cells(i, 10) & "                ;" &  _
Cells(i, 10) & _
"                ;" & Cells(i, 18) & ";" & _
Cells(i, 17) & ";" & Cells(i, 5) & ";" & Cells(i, 9) & ";" & Cells(i, 16) & ";" & Cells(i, 11) & _
_
"                      ;" & Cells(i, 20) & ";" & Cells(i, 21)
'Schließt und speichert die geöffnete Datei
Close #1
'Springt in die nächste Zeile, sofern die Bedinung noch erfüllt ist
Next i
'Wenn die untere Zeile gleich ist, dann:
If ActiveCell = ActiveCell.Offset(1) Then
m = ActiveCell.Offset(1)
Open Pfad For Append As #1
Print #1, m
Close #1
End If
'Benachrichtigung, dass Textdateien gespeichert wurden
MsgBox " Die Textdateien wurden im Verzeichnis: C:\Users\Desktop\Textdateien für IMA  _
Schnittstelle gespeichert"
End Sub 
So sieht mein Code momentan aus, aber wie gesagt tut er nicht das was er eigentlich soll :/
Anzeige
FRanzi oder Stefanie oder wer? owT
03.04.2017 16:49:52
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige