franzosenklempner
Goto Top

Makro Excel 2019: Zusammenführen bestimmter Daten aus mehreren dateien an einem Speicherort in eine Datei

Hallo zusammen,

ich suche schon seit geraumer Zeit nach einer Makrolösung für Excel2019 für folgendes Problem: Ich möchte die Auslastungen und Betriebsdaten einer Schweißroboteranlage zusammenfassend auswerten. An einem Speicherort werden von einer Software in regelmäßigen Abständen Auswertungen in Form von Exceldateien abgelegt. Die Dateiennamen sind wie folgt aufgebaut:
CEOD_20191028_0015289_2
CEOD_20191028_0015289_1
CEOD_20191025_0015289_2
CEOD_20191025_0015289_1

CEOD bleibt immer gleich
20191028 ist das Datum, auf das sich die Auswertung bezieht
0015289 bleibt immer gleich
2 oder 1 ist Schicht 1 oder Schicht 2


In der Datei sind folgende Informationen aufgelistet, verteilt in Spalten beginnend bei A
Roboter Beginn Auswertung Ende Auswertung Dauer Auswertung Betriebsdatum Absolut % Häufigkeit Beginn Ende Dauer

pdm file kopf

Das Makro müsste jetzt jede in dem Ordner befindliche Datei öffnen, in dem einzigen vorhandenen Tabellenblatt in Spalte "E" nach folgenden Schlagwörtern/ Kriterien suchen:
Totzeit
Betriebsart AUS
Betriebsart T1
Betriebsart T2
Betriebsart AUTO
Modus PROG
MODUS TEACH
CP-Bewegung
PTP-Bewegung
Fehler aktiv
Antriebe aktiv
Lichtbogen ein
Warten auf Start aktiv
Editor aktiv
Punkteditor aktiv
Suchfahrt aktiv

Die Schlagwörter kommen immer in dieser Reihenfolge in der Datei vor. Wenn die Software für dieses Kriterium keine Zeit gemessen hat, erscheint es trotzdem und wird mit "0" bewertet.

Hier mal ein Beispiel für den Übergang von dem Kriterium"Antriebe aktiv" zu "Lichtbogen ein" in Zeile 3449-3450. In welcher Zeile dieser Kriterienübergang vorkommt ist natürlich unterschiedlich.
Übergang zeile3450
Die Software zählt im Prozessablauf jedes Kriterium und misst zu jedem die entsprechende Zeit. In Spalte "F" wird die Zeit kummuliert ausgegeben. In Spalte "G" wird der Zeitanteil als Prozentangabe ausgegeben. Spalte "H" zeigt die Häufigkeit mit das Kriterium innerhalb des Auswertungszeitraumes vorkam (ausser für die ersten 7 Kriterien). Eine Besonderheit ist noch die Zeitangabe in Spalte "F": Die kummulierte Zeit wird in dem Format "01 h 43 min 30s". Daraus sollte das Makro dann 6210 machen, also in Sekunden umrechnen.

Zusammenfassend gesagt, öffnet das Makro die Datei chronologisch, geht in Spalte "E" sucht nach "Totzeit" und schreibt die Informationen daneben aus Spalte F, G und H (Absolut, %, Häufigkeit) in eine Zieltabelle. Danach weiter "Betriebsart AUS" suchen, Werte nehmen und so weiter. Die Häufigkeit ist wie oben erwähnt in den ersten 7 Kriterien leer. Ab dem Kriterium "CP_Bewegung" steht hierfür ein Wert.

Die Zieldatei soll in den Zeilen das Datum der Auswertung bekommen. Wenn im Dateinamen am Ende "_2" steht ist es die Auswertung der Spätschicht, bei "_1" die der Frühschicht. Hier mal die Ausgabetabelle:

zieldatei

Sollte man die Dateien im Zielordner vor der Auswertung chronologiosch ordnen oder kann man das anders lösen, damit die Zusammenfassung chronologisch aufgebaut ist? Es muss für jeden Tag erst die Früh- dann die Spätschicht eingetragen werden.
Ist es möglich, das das Makro die Zieldatei quasi fortführt und nur die noch fehlenden Dateien bis zum Tag der Auswertung zusammenfasst oder muss es so sein, dass die gesamten Dateien in dem Zielordner jedes Mal neu verarbeitet werden?

Würde mich sehr freuen, wenn sich hierzu mal jemand äußern könnte.

Content-Key: 509575

Url: https://administrator.de/contentid/509575

Printed on: April 25, 2024 at 15:04 o'clock

Mitglied: 141575
141575 Oct 29, 2019 updated at 11:05:57 (UTC)
Goto Top
Würde mich sehr freuen, wenn sich hierzu mal jemand äußern könnte.
  • Machbar, was zahlst du für die Auftragsarbeit?
  • Sind die Dateien CSV-Dateien? Wenn ja würd ich's gleich per Powershell abfackeln.
Sollte man die Dateien im Zielordner vor der Auswertung chronologiosch ordnen oder kann man das anders lösen, damit die Zusammenfassung chronologisch aufgebaut ist?
Ist egal kann man auch ohne Sortierung machen, Sortierung nimmt hinterher der Programm-Code vor.
Ist es möglich, das das Makro die Zieldatei quasi fortführt und nur die noch fehlenden Dateien bis zum Tag der Auswertung zusammenfasst oder muss es so sein, dass die gesamten Dateien in dem Zielordner jedes Mal neu verarbeitet werden?
Geht auch ohne die Files erneut zu verarbeiten, dabei Sucht das Programm die entsprechende Zeile nach dem Datum ab, ist das vorhanden überspringe Datei ansonsten verarbeite sie.
Member: TheJoker2305
TheJoker2305 Oct 29, 2019 at 11:46:13 (UTC)
Goto Top
Hallo zusammen,

ich schließe mich der Meinung von ChickenWing an. Ein bloßes "Schreib mal diese Codezeile um das zu lösen" ist zwar zielführend, aber meiner meinung nach nicht Sinn dieses Forums.

Ansätze wären hier:
Excel Makro welches die Daten entsprechend der oben stehenden Anleitung nach und nach zusammenträgt.

Alternativ dazu kann man auch alle Auswertungsdateien in eine kleine Datenbank importieren (auch auch gleich in die SammelExcelDatei) und anschließend nach bestimmten Kriterien (je Tag/Maschine/Schicht Tabellenblätter befüllen. (Stichwort Talend Open Studio in Verbindung mit Robotask). Der erstellt Job kann dann event- (neue Datei wird in einem Pfad abgelegt) oder zeitgesteuert (täglich 09:00 Uhr) ausgeführt werden. Verarbeitete Dateien können auch in Unterverzeichnisse verschoben werden und die gesamte Auswertung kann per Mail automatisch versendet werden - oder auch nur eine Benachrichtigung dass der Import erfolgt ist.

Habe solche Szenarien schon hundertfach etabliert - inkl. Archivierung (Zip und co) - geringer Aufwand, lizenzkostenneutral und nachhaltig.
Wenn hier Beratungsbedarf vorhanden sein sollte - gern per PN melden.

Greetz
thejoker2305
Member: colinardo
Solution colinardo Oct 29, 2019 updated at 15:03:22 (UTC)
Goto Top
Servus @franzosenklempner , willkommen auf Administrator.de!
Habe dir mal ein Beispiel aus deinen uns zur Verfügung gestellten Hinweisen zusammengestellt.
Download hier:
back-to-topdata_collection_509575.zip
(Code ist zeilenweise kommentiert.)

screenshot

Weitere Anpassungen gerne via PN

Grüße Uwe