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

Auslesen diverser txt-Dateien

Auslesen diverser txt-Dateien
25.01.2016 11:43:54
nihil0815
Hallo zusammen,
die Herausforderung liegt nach einer Systemumstellung darin, Vertriebsdaten aus einem Altsystem möglichst vollständig und für die weitere Verarbeitung und Analyse verwertbar zu exportieren und in Excel zusammenzufassen.
Die Vertriebsdaten auf Artikelebene lassen sich aus dem Altsystem leider nur als .txt wie folgt exportieren:
https://www.herber.de/bbs/user/103011.txt
Ist es möglich, die für sämtliche Artikel generierten .txt-Dateien, welche dann alle in einem Verzeichnis abgelegt werden, mit einem Makro in eine Excel-Tabelle auszulesen und zusammenzufassen?
Diese Datei sollte dann die Spaltenüberschriften der .txt-Dateien, also
Kunde|Kundennummer|Auftragsummer|Datum|Menge|Einzelpreis
beinhalten, unter der dann die Bewegungsdaten zusammengefasst sind.
Eine besondere Hürde stellt möglicherweise die Kundennummer dar, die zwar größtenteils freigestellt und korrekt unter der „Kundennummer“ darstellt ist, vereinzelt aber auch direkt auf den Kundennamen folgt (Beispiel Alliance). Als gemeinsames Merkmal der Kundennummer kann aber definiert werden, dass es sich immer um eine 6-stellige Ziffer handelt.
Sollte das nicht zu verarbeiten sein, wäre das aber kein Beinbruch, diese Daten wären dann notfalls manuell nachzubarbeiten.
Die darüber befindlichen Daten in der Kopfzeile, also Seitennummer, Zeitraum, Stand, etc. können unberücksichtigt bleiben, benötigt werden nur die Daten direkt unterhalb
Kunde|Kundennummer|Auftragsummer|Datum|Menge|Einzelpreis
Um in der Datei eine Zuordnung der Historie zum ausgewerteten Artikel zu erhalten, sollte rechts neben „Einzelpreis“ außerdem eine zusätzliche Spalte Namens „Artikel“ eingespielt werden, die zu jeder Position den Dateinamen ergänzt, in diesem Beispiel also „Historie Beispiel“.
Ist das geschilderte Vorhaben so umsetzbar?
Ich bedanke mich ganz herzlich vorab für eine Rückmeldung dazu.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auslesen diverser txt-Dateien
25.01.2016 12:50:12
Rudi
Hallo,
Ist das geschilderte Vorhaben so umsetzbar?
ja.
Sowas wird ständig gefragt. Lösungen unterschiedlichster Art gibt es im Archiv.
Gruß
Rudi

AW: Auslesen diverser txt-Dateien
25.01.2016 13:48:22
nihil0815
Hallo,
vielen Dank für die schnelle Rückmeldung. Welches der archivierten Themen wäre denn z.B. mit dieser Anforderung kompatibel? Möglicherweise habe ich das bei meiner vorherigen Archivsuche übersehen.
Besten Dank vorab.

AW: Auslesen diverser txt-Dateien
25.01.2016 20:17:53
Michael
Hi,
um wie viele derartige Datein geht es dabei?
Und: das "Beispiel" ist durch die Dateinummerierung im Forum natürlich nicht mehr sichtbar; der jeweilige Dateiname ist also die Referenz zum jeweiligen Artikel? In dem Fall das gute Tocopherolacetat (was auch immer das sein mag)? Weil wenn nicht, müßte man diese Bezeichnung denn doch noch auslesen.
Gewisse Vorsicht ist denn auch bei "Ethanol 90%" geboten, weil Sonderzeichen wie "%" in Dateinamen zu Ärger führen können...
Insgesamt klingt es eher nach einem Programmierauftrag; kann es sein, daß der "Systemumsteller" zu teuer ist?
Ich hatte erst mit einer "Firma" zu tun, bei der die Umstellung von x-100en von Daten für einen schlappen 1000er erledigt gewesen wäre, und das ist wirklich NICHTS im Vergleich zur händischen Arbeit, die die Angestellten damit haben, weil der Chef zu "sparsam" war - nicht jeder Chef kann rechnen...
Schöne Grüße,
Michael

Anzeige
Nachtrag
26.01.2016 19:07:14
Michael
Hi,
das "Firma" stand übrigens in "", weil ich nicht näher darauf eingehen wollte, ob es sich um einen Laden, ein Büro oder sonstwas handelt - es war nicht etwa diskriminierend gemeint, auch wenn ich manche Entscheidungen mancher "E-Träger" nicht nachvollziehen kann.
Nichtsdestotrotz: wenn wir helfen sollen, mußt Du schon die inhaltlichen Fragen beantworten...
Ach, was soll's, ich habe eh grad was Ähnliches hochgeladen. Hier leicht angepaßt:
Option Explicit
Sub CSV_Importieren()
Dim pfad As String
Dim datei As Variant
Dim a As Variant, a2 As Variant, az As Variant
Dim s As String, s2 As String
Dim i&, dNr%, z&, sp&, zl&, spZ&, zlZ&, abzeile&, vorhanden&, pos&
datei = Application.GetOpenFilename()
If datei = False Then
MsgBox ("Datenextraktion abgebrochen.")
Exit Sub
End If
pfad = datei
abzeile = Import.Range("J1") + 1
'Import.Cells.Clear
dNr = FreeFile
Open pfad For Binary As #dNr
s = Space(LOF(dNr))
Get #dNr, 1, s
Close #dNr
a = Split(s, vbCrLf)
zl = UBound(a)
sp = 7
a2 = Import.Range("A" & abzeile, Import.Cells(zl + 1 + abzeile, sp))
z = 1
For zlZ = 0 To zl
pos = InStr(a(zlZ), "RE-")
If pos = 0 Then pos = InStr(a(zlZ), "LI-")
If pos = 0 Then pos = InStr(a(zlZ), "ST-")
If pos > 0 Then
s2 = Trim(Left(a(zlZ), pos - 1))
a2(z, 2) = Right(s2, 6)
a2(z, 1) = Trim(Left(s2, Len(s2) - 6))
s2 = Trim(Mid(a(zlZ), pos))
While InStr(s2, "  ") > 0
s2 = Replace(s2, "  ", " ")
Wend
'    MsgBox a2(z, 1) & " : " & a2(z, 2) & " : " & s2
az = Split(s2, " ")
'    For spZ = LBound(az) To UBound(az)
'      Debug.Print spZ & ": " & az(spZ)
'    Next
If UBound(az) > 3 Then
a2(z, 3) = "##Fehler##"
a2(z, 4) = Mid(a(zlZ), pos)
Else
For spZ = 0 To UBound(az)
a2(z, 3 + spZ) = az(spZ)
Next
End If
a2(z, 7) = datei
z = z + 1
End If
Next
Import.Range("A" & abzeile, Import.Cells(z + 1 + abzeile, sp)) = a2
Import.Range("J1") = abzeile + z - 2
End Sub
Die Datein als ZIP: https://www.herber.de/bbs/user/103060.zip
Das Teil lädt die Datei ein, die Du auswählst.
Wenn Du *alle* in einem Ordner benötigst, muß man noch a bissl was ändern.
Ich würde es aber so angehen:
a) Datein auf weiterem Blatt "Dateien" einlesen (Code kannste recherchieren)
b) alle dortigen Datein importieren (geht easy, die Schleife können wir schnell drumrumbasteln)
c) währenddessen in "Dateien" eine Statistik mitführen: ok/nicht ok, Datum von.. bis.., Anzahl verarbeitete Zeilen, Anzahl Zeilen mit Fehler...
Naja, spiel halt mal damit herum.
Schöne Grüße,
Michael

Anzeige
AW: Nachtrag
27.01.2016 09:12:37
nihil0815
Hallo Michael,
lieben Dank für Deine Mühe - das klappt genauso, wie ich es mir erhofft hatte.
Viele Grüße und einen schönen Tag,
Nils

freut mich - happy exceling & Grüße zurück!
27.01.2016 11:37:11
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige