Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
956to960
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
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei ohne Tapstopps

Datei ohne Tapstopps
03.03.2008 11:29:00
Günter
Guten Tag, ich stehe mal wieder vor einer Herausforderung!
Ein Kunde möchte die Daten der Muster-Tabelle zum Einspielen zurückgespielt haben: https://www.herber.de/bbs/user/50375.xls und zwar sollen die Daten dann z.B. in einer "txt-Datei" ohne Tap-Stopps stehen. Die Zeilen-Umbrüche müssen erhalten bleiben. Ich kann zwar bei der Bearbeitung in Word die Tab-Stopps auf 0 setzen. Das ist es aber dann wohl nicht, da bei der Betrachtung im Editor die Datei wie gehabt aussieht.
Ich habe im Internet recherchiert und festgestellt, dass es sich dann wohl um eine Datei im "DT-Aus" Format handelt, die normalerweise nur im Bankenbereich verwendet wird. Fällt Euch eine Möglichkeit ohne DT-Aus-Konverter ein oder kennt jemand eine Freeware? Danke im Voraus!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei ohne Tapstopps
03.03.2008 11:55:16
haw
Hallo Günter,
hier eine Möglichkeit, individuell eine Textdatei zu erstellen. In dem Beispiel wird ein Semikolon als Feldtrenner verwendet, wenn du das löschst, werden die Feldinhalte direkt aneinander gefügt.

Sub Textfileerstellen()
Dim Dateiname$, Dateinummer%, ls%, z%, s%, TMP$
Dim wsZ As Worksheet
Set wsZ = ActiveSheet
Dateiname = "C:\Daten\Test.txt"
Dateinummer = FreeFile
Open Dateiname For Output As #Dateinummer
If wsZ.Range("A1")  "" Then
For z = 1 To wsZ.Cells(Rows.Count, 1).End(xlUp).Row
For s = 1 To ls
TMP = TMP & CStr(wsZ.Cells(z, s).Text) & ";"
Next s
TMP = Left(TMP, Len(TMP) - 1)
Print #Dateinummer, TMP
TMP = ""
Next z
End If
End Sub


Gruß
Heinz

Anzeige
AW: Datei ohne Tapstopps
03.03.2008 11:56:56
Erich
Hallo Günter,
soll "Ohne TabStopps" bedeuten, dass der Kunde die Datei ganz ohne Trennzeichen haben möchte?
Wenn wie in deinem Beispiel die Einträge in jeder Spalte eine feste Länge haben,
geht das einfach mit dewr Formel auf Blatt "OhneTrenner".
https://www.herber.de/bbs/user/50381.xls
Wenn du dieses Blatt als Textdatei speicherst, sollte das ausreichen.
DTAUS ist ein spezielle Definition für den Aufbau einer Textdatei zum Austausch mit einer Bank
und hat mit deiner Aufgabe nicht viel zu tun.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Datei ohne Tapstopps
03.03.2008 12:49:17
Tino
Hallo,
hier noch eine Version.
Trennungszeichen ist ein Leerzeichen, sollte dies nicht gewünscht sein einfach entfernen
oder durch ein anderes ersetzten.
Textdatei wird in dem Verzeichnis der Exceldatei gespeichert.
zu fs.opentextfile(ThisWorkbook.Path & "\test.txt", 8, True, 0)
2 = Datei wird zum Schreiben geöffnet, Inhalt wird überschrieben
8 = Datei wird zum Schreiben geöffnen, Inhalt wird beibehalten, neues wird angehängt

Sub txtErstellen()
Dim a As Long, b As Byte
Dim TXT As String
Dim fs As Object, MeTXTFile As Object
For a = 1 To Range("A65000").End(xlUp).Row
For b = 1 To Cells(a, 1).End(xlToRight).Column
TXT = TXT & Cells(a, b) & " " 'Trennung mit Leerzeichen = " "
Next b
TXT = TXT & vbCrLf
Next a
Set fs = CreateObject("Scripting.filesystemobject")
Set MeTXTFile = fs.opentextfile(ThisWorkbook.Path & "\test.txt", 8, True, 0)
MeTXTFile.writeline TXT
MeTXTFile.Close
Set fs = Nothing
Set MeTXTFile = Nothing
End Sub


Gruß
Tino

Anzeige
AW: Datei ohne Tapstopps
03.03.2008 13:28:35
Tino
Hallo,
habe den Code noch etwas schneller gemacht und mit Kommentaren versehen.

Sub txtErstellen()
Dim a As Long, b As Byte
Dim TXT As String
Dim TZeichen As String
Dim Ber As Range
Dim fs As Object, MeTXTFile As Object
Application.ScreenUpdating = False
TZeichen = " "
For a = 1 To Range("A65000").End(xlUp).Row
'******************Bei mehr als 7 Spalten entsprechend ergänzen!*************
Set Ber = Range(Cells(a, 1), Cells(a, 7))
TXT = TXT & Ber(1) & TZeichen & Ber(2) & TZeichen & Ber(3) & TZeichen & _
TZeichen & Ber(4) & TZeichen & Ber(5) & TZeichen & Ber(6) & TZeichen & Ber(7)
If TZeichen > "" Then
TXT = Left(TXT, Len(TXT) - 1) & vbCrLf
Else
TXT = TXT & vbCrLf
End If
Next a
Application.ScreenUpdating = True
'Beschreibung: fs.opentextfile(ThisWorkbook.Path & "\test.txt", 2, True, 0)
'2 = Datei wird zum Schreiben geöffnet, Inhalt wird überschrieben
'8 = Datei wird zum Schreiben geöffnen, Inhalt wird beibehalten, neues wird angehängt
'true = Datei wird angelegt, wenn sie noch nicht existiert (Standard)
'false = Datei wird nicht angelegt, wenn sie nicht existiert.
Set fs = CreateObject("Scripting.filesystemobject")
On Error GoTo FehlerDatei:
Set MeTXTFile = fs.opentextfile(ThisWorkbook.Path & "\test.txt", 8, True, 0)
MeTXTFile.writeline TXT
MeTXTFile.Close
Set fs = Nothing
Set MeTXTFile = Nothing
Exit Sub
FehlerDatei:
MsgBox "schwerer Fehler: Datei nicht vorhanden!" & Chr(13) & ThisWorkbook.Path & "\test.txt",  _
vbCritical, "Fehler beim schreiben!"
Set fs = Nothing
Set MeTXTFile = Nothing
End Sub


Gruß
Tino

Anzeige
AW: Datei ohne Tapstopps
03.03.2008 14:50:00
Günter
Hallo Heinz, hallo Tino,
Eure Antworten sind toll, weil Ihr soviel Zeit für die Antwort aufgewendet habt! Aber leider habe ich mit VBA keine Erfahrung!
Ich kann doch Eure VBA_Anweisungen kopieren und im VBA_Makro unter Code 'reinkopieren. Habe ich gemacht, nur passiert nichts! Was muß ich noch machen/beachten?

AW: Datei ohne Tapstopps
03.03.2008 15:08:00
Tino
Hallo,
am einfachsten, mit Tastatur Alt+F11 in den VBA Editor, dort in einer Tabelle
Doppelklick und gesamten Code einfügen.
In deiner Tabelle unter Extras- Makros- Makros…, dieses Makro ausführen.
Userbild
Userbild
Gruß
Tino

Anzeige
AW: Datei ohne Tapstopps
03.03.2008 14:45:00
Günter
https://www.herber.de/bbs/user/50388.xls
Hallo Erich,
vielen Dank für Deine Antwort! Es klappt wirklich so, wie ich's mir vorstelle!
Ich kämpfe nur noch mit den Formaten! Beim Datum klappt's, wenn ich das Datum als "standard"-formatiert schreibe! Ich bin mir allerdings nicht sicher, ob dann bei der Einspielung wieder ein Datum erzeugt wird. Lasse ich das Datum als Iso-Datumsformat, dann wird es umgeschlüsselt bei der Zusammenfassung als 39498 (20.02.2008).
Angenommen ich wollte die 0000 =Iso-Uhrzeitformat) tatsächlich auch als 0000 (standardformatiert)
sehen, was muß ich tun?

Anzeige
AW: Datei ohne Tapstopps
04.03.2008 15:45:00
Erich
Hallo Günther,
die Preisfrage ist: Welche Datenformate erwartet der Kunde?
Was kann er am leichtesten weiter verarbeiten?
In dieser Mappe sind in Spalte A Datumse als JJJJMMTT und Uhrzeiten als hhmm aufbereitet,
in Spalte C als JJJJ-MM-TT bzw. hh:mm
In Spalte C habe ich ein Leerzeichen zwischen die Spalten gesetzt.
Damit man etwas mehr sieht, habe hier ich einige Uhrzeiten ungleich Null eingetragen:
https://www.herber.de/bbs/user/50429.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Datei ohne Tapstopps
04.03.2008 16:33:00
Günter
Hallo Erich,
vielen Dank für Deine Antwort! Der Kunde möchte die Variante in Spalte A. Ich hatte eine Lösung für die
Uhrzeit gefunden, in dem ich an das Datum die 0000 angehängt habe. Aber Deine Lösung gefällt mir besser!
Und inzwischen hatte der Kunde eine zusätzliche Herausforderung, die ich aber dann selber noch in die Formel eingebaut habe. Er wollte nach den Ziffern aus Spalte B 3 Leerzeichen haben. Die habe ich über &" " noch eingebaut!
Grüße aus der Pfalz
Günter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige