Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aus mehrere Textdatei mehrere Tabelle erstellen

Aus mehrere Textdatei mehrere Tabelle erstellen
26.05.2017 18:07:43
richar
Hallo,
ich muss beispielweise aus die Textdatei https://www.herber.de/bbs/user/113810.txt
wichtige Informationen sortieren und in Excel Tabelle reinschreiben. Die Information die ich suchen muss ist auf der Erste Zeile der excel Tabelle und ich habe angefangen die Werte reinzuschreiben damit ihr sieh was ich suche https://www.herber.de/bbs/user/113811.xlsx
Wie kann ich das bitte mit VBA machen?
ich habe viele Text datei die unterschiedliche Größe haben und die länge von der Zeilen sind immer Unterschiedlich
ich hoffe jemand kann mir helfen
ich bedanke mich
MFG
Richar

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
27.05.2017 06:18:48
Rainer
Hallo Richar,
wenn deine Textdateien sich unterscheiden, dann musst du auch unterschiedliche Beispiele zeigen.
Generell musst du die Datei einlesen oder öffnen und dann mit "InStr" (entspricht der Finden()-Funktion) die "Codewörter" suchen.
z.B.
15-07-2016 10:20:02,100 [15] DOWUB Hi.Pa.Kl - wasch.Star - 15.07.2016 10:20:02,99 angefange() -  _
erstellt kucken  74445
15-07-2016 10:20:02,108 [15] DOWUB Hi.Pa.Kl - wasch.Star - TTTTTTTTTTT Name K88 für TiereNr 55858558  Wohnung BERLI HFZFJGKGKGKGJGGH
Zuerst suchst du die Position von "Name". Dann suchst du die Position von "für". Aus diesen beiden Indizes kannst du über die Funktion "Mid" (entspricht der Teil()-Funktion) den gesuchten Begriff "K88" auslesen.
Gruß,
Rainer
Anzeige
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
27.05.2017 08:17:55
fcs
Hallo Richar,
ich habe die eine Datei zur Steuerung des Datenimports erstellt.
https://www.herber.de/bbs/user/113820.xlsm
Schritt 1: Textdateien auswählen
Schritt 2: auswählen, ob alle Textdateien in ein Tabellenblatt eingelesen werden sollen
Schritt 3: Text-Dateien importieren
Das Importmakro erstellt eine neue Arbeitsmappe und verwendet das Blatt "Muster" für das Erstellen der Liste(n). Das Blatt "Muster" kannst du noch formatieren und Seitenlayout anpassen, nur die Reihenfolge der Spalten darf nicht geändert werden, sonst musst das Makro angepasst werden.
Gruß
Franz
Anzeige
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
27.05.2017 11:53:15
richar
Hallo Franz,
es funktioniert super gut vielen Dank! Bitte kannst du mir die Zeile mit Kommentar ein bisschen mehr erklären. Ich verstehe nicht alles.
Ich bedanke mich
Gruß
Richar
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
27.05.2017 12:18:25
fcs
Hallo Richar,
ich hab ja schon etliche Kommentaren eingefügt.
Zu welche Teilen im Makro hast du denn noch Frangen?
Gruß
Franz
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
27.05.2017 13:06:19
richar
Hallo Franz,
1- ich habe manchmal mehr Zeile für ein Block. Du hast geschrieben von 1 bis 12 wenn ich gut verstehe habe. bei mir ist manchmal ein Datensatz mit 12 Zeilen manchmal 19 Zeile es ist nicht fest. Gibt es eine möglichkeit um es trotzdem zu bewerten?
('Block von 12 Zeilen einlesen = 1 Datensatz
For ZeiText = 1 To 12)
2-Diese Teile sagt, dass ich muss zeile 1, 3, 4, 6, 7, 8, 9 ignorieren, bei mir sieht die Textdatei manchmal ändern .
wenn ich ein Zeile in mein Textdatei inzwischen schreibe, dann habe ich nicht mehr alle Information. Gibt es dafür eine Lösung oder soll ich für jede Textdatei immer zählen
(Select Case ZeiText
Case 1, 3, 4, 6, 7, 8, 9
'Diese Zeilen nicht auswerten
Case 2 'enthält "Name", "TiereNr" und "Wohnung"
strZeile = Mid(strText, 60)
Case 5 'enthält "Pferd_" und "Zeit für Banane war"
strZeile = strZeile & " " & Replace(Mid(strText, 60), " --", " ")
Case 10 'enthält "Menge pro Leute" und "mit WarteTiere"
strZeile = strZeile & " " & Mid(strText, 60)
Case 11 'enthält "Birne"
strZeile = strZeile & " " & Replace(strText, "=", " ")
Case 12 'enthält "Mange" und "Kirsche"
strZeile = strZeile & " " & Replace(strText, "=", " ")
End Select
Next)
3-wenn "1 und 2 " nicht möglich sind, gibt es die Möglichkeit dass ich alle Zeile wählen wo meine Information sind und dann meine Information in Excel einfüge?
4- Ich möchte auch gern die Uhrzeit und das Datum in meine Excel Tabelle einfügen bitte wie kann ich das ergänzen
Ich bedanke mich
Grüß
Richar
Anzeige
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
27.05.2017 15:30:40
fcs
Hallo Richar,
wenn die Datensätze in der Textdatei unterschiedlich viele Zeilen haben können, dann muss es eindeutige Kriterien geben, die die 1. oder die letzte Zeile eines Datensatzes kennzeichnen.
z.B.: Die Zeile, die "Kirsche=" enthält, ist immer die letzte Zeile?
Dann kann man alle Zeilen eines Datensatzes zusammenfassen und auswerten.
"kleines" Problem: einige Werte wie "Pferd_" oder "Zeit für Banane war" erscheinen in mehreren Zeilen. Kann man hier immer den Wert nach dem 1. Erscheinen im Datensatz übernehmen oder kann es Ausnahmen geben? Teilweise ist nicht nach jedem Text ein Wert angegeben - was ggf. dann?
Datum/Uhrzeit kann man auch auswerten.
Welche der vielen Wert soll es sein? Links in der 1. Datensatzzeile wäre am einfachsten auszuwerten.
Sollen Datum/Zeit in einer Spalte oder in 2 Spalten erfasst werden?
Ich versuche das Import-Makro mal in diese Richtung anzupassen, brauche aber für die endgültige ersion noch Antworten auf obige Fragen.
Gruß
Franz
Anzeige
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
27.05.2017 16:44:25
richar
Hallo Franz,
die Letzte Zahlen sind immer gleich.Ja kann man nach dem 1. Erscheinen übernehmen. ich brauche das 2. Datum und Uhrzeit die Erscheine von Zeit für Banane(ohne "war"). in 2 Spalten
Vielen Dank!
Gruß
Richar
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
27.05.2017 19:05:20
fcs
Hallo Richar,
hier die angepasste Datei.
https://www.herber.de/bbs/user/113830.xlsm
Ich hab zusätzlich die 1/1000 als Spalte aufgenommen, da Excel diese nicht vernüftig als Zeit handhaben kann.
Teste mal ob das so mit den Varianten in den Textdateien funktioniert.
Gruß
Franz
Anzeige
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
27.05.2017 19:35:58
richar
vielen Dank hat gut geklapp
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
27.05.2017 20:02:30
richar
Hallo Franz,
bitte was macht genau diese Zahlen:
1-

With Tab_Steuern
Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row
If Zeile > 6 Then
.Range(.Rows(7), .Rows(Zeile)).ClearContents
End If
2-

With Tab_Steuern
Zeile_L = .Cells(.Rows.Count, 1).End(xlUp).Row
bolEineTabelle = .Range("B4") = "Ja"
End With

3-
(ElseIf varZeile(i) = "Kirsche" Then
wks.Cells(Zeile_T, 10) = varZeile(i + 1): i = i + 1)
Vielen Dank!
Anzeige
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
28.05.2017 20:59:49
fcs
Hallo Richar,
zu 1.
    With Tab_Steuern ' = Worksheets("Steuern")
'Letzte Zeile mit Inhalt in Zelle in Spalte 1 (= Spalte A) ermitteln _
beginnend von der letzten Zeile im Blatt  = .Rows.Count _
nach oben = ,End(xlUp)
Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row
If Zeile > 6 Then 'wenn ermittelte letzte Zeile > 6, d.h. es gibt Daten unterhalb _
dieser Zeile
'Inhalte im Zellbereich (Range) löschen von Zeile 7 bis zur ermittelten Zeile
.Range(.Rows(7), .Rows(Zeile)).ClearContents
End If
zu 2.
    With Tab_Steuern ' = Worksheets("Steuern")
'Letzte Zeile mit Inhalt in Zelle in Spalte 1 (= Spalte A) ermitteln _
beginnend von der letzten Zeile im Blatt  = .Rows.Count _
nach oben = ,End(xlUp)
Zeile_L = .Cells(.Rows.Count, 1).End(xlUp).Row
'merken, ob beim Importieren die Daten aller Dateien in ein Tabellenblatt _
(Range("B4") = "Ja" ergibt True (Wahr)) _
oder die Daten jeder Datei in ein separates Tabelenblatt importiert werden _
sollen (Range("B4") = "Ja" ergibt False (Falsch))
bolEineTabelle = .Range("B4") = "Ja"
End With
zu 3.
Durch die Split-Anweisung weiter oben wurde der zusammengesetzte und durch die Replace-Anweisungen modifizierte Text des Datensatzes (strZeile) an den Leerzeichen getrennt und in das Daten-Array varZeile zerlegt. In dessen Datenfeldern befinden sich jetzt die Einzeltexte des Datensatzes.
In der For-Next-Schleife mit dem Zähler "i" werden jetzt die Inhalte der Datenfelder mit bestimmten Texten verglichen um die gewünschten Inhalte zu ermitteln.
'Hier wird geprüft, ob im i-ten Datenfeld des Daten-Arrays der Inhalt gleich "Kirsche" ist
ElseIf varZeile(i) = "Kirsche" Then
'wenn ja, dann wird der Inhalt des (i + 1)-ten Datenfelds in das Ergebnis-Blatt in der _
Spalte 10 (= Spalte J) eingetragen und der Spaltenzähler wird um 1 erhöht (i = i + 1), um _
die Spalte mit dem Ergebnis bei der weiteren Auswertung zu überspringen.
wks.Cells(Zeile_T, 10) = varZeile(i + 1): i = i + 1

Ich musste die Prüfung auf Inhalte am Ende des Datensatzes an den Anfang der Wert-Vergleiche stellen, da es sonst bei den Feldern, die den Verleich mehrerer Datenfelder erfordern, zu einem Fehler im Makro kommt. zB. bei "ZeitfürBananewar" - hier ergibt (i + 3) ggf. einen größeren Wert als Datenfelder im Datensatz vorhanden sind.
LG
Franz
Anzeige
AW: Aus mehrere Textdatei mehrere Tabelle erstellen
30.05.2017 00:03:55
richar
Danke Danke Franz!

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige