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

Excel Log-Datei Import - Auswertung von

Excel Log-Datei Import - Auswertung von
14.11.2021 07:33:50
Hallo Leute.
Ich brauche mal Eure Hilfe.
Es geht mir darum ein Log (CSV) einer USV-Anlage auszuwerten und bestimmte Alarme samt der Dauer dessen aufzulisten und diese in ein Excel-Protokoll zu schreiben.
Ich habe ein VBA Script, was über einen Button gestartet wird, welches mir per "Datei öffnen"-Dialog eine Dateiauswahl gestattet und dann die Daten in ein Tabellenblatt schreibt.
Nun soll in jeder Zeile wo ein Alarm abfällt, jeweils die Dauer des Alarms eingefügt werden.
Weiterhin gibt es eine Spalte in der mit belibigem Zeichen dieser Alarm ausgewählt wird.
Maximal können 10 Alarme ausgewählt werden und diese sollen dann, zeitlich sortiert, in das Protokoll übergeben werden.
Den Import und die Ersetzung des "*" gegen ein "X", da ich mir dachte dass es hier Probleme mit VBA gibt, habe ich schon gelöst.
Jedoch komm ich mit der Berechnung der Dauer des jeweiligen Alarms nicht klar, da sich das teilweise mit anderen überschneidet....😫
Ich hoffe ihr versteht was ich meine und könnt mir helfen.
Habe jeweils eine logische Grafik, sowie ein Demo-Log und mein XLSM als Zip angehangen
https://www.file-upload.net/download-14746647/Robert_Ehr_FB_Excel_13_11_2021.zip.html
Userbild

29
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 08:02:45
Hi Robert,
kannst du bitte deine Datei auch mit der Upload-Funktion aus diesem Forum hier zur Verfügung stellen?
Nachdem ich auf "deinen" Link geklickt habe, erhielt ich diese Warnung von Avast:
Userbild
Natürlich hab ich deine Datei - nicht - heruntergeladen und die Seite wieder geschlossen.
Vielleicht war das von Avast auch nur Fehlalarm - da ich das aber nicht beurteilen kann, werde zumindest ich nicht helfen können (was aber nix bedeuten muss :-))) da es ja viele Helfer hier gibt ;-) )
Ciao
Thorsten
...ach so, die schwarzen Balken, die du im Bild siehst, verdecken nur private Einträge von mir...
Anzeige
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 08:31:41
Ja klar sorry.
https://www.herber.de/bbs/user/149136.zip
Aber ich denke es liegt beim Virenscanner daran, dass es sich um ein XSLM it VBA handelt.
LG Robert
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 08:35:34
da denkste falsch! Ich hab keine Ahnung, wieviel 100 oder mehr von xlsm-Dateien (oder sonstige mit VBA) ich - hier - schon runtergeladen hab, ohne, dass Avast "meckerte"
so, ich schau mir mal deine ZIP-Datei an - mal sehen, ob ich ne Lösung kenne...
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 09:04:25
Oh OK.
Das kann ich mir zwar jetzt echt nicht erklären bei mir läuft ständig ein AV und hatte auch nie was bemängelt.
Aber dennoch schon mal vielen Dank, dass du dich meinem Problem annehmen magst 😊👍
LG Robert
Anzeige
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 09:17:13
Hi Robert,
hab mich seit meiner letzten Meldung mit deiner Datei beschäftigt.
Aber noch komme ich gar nicht weiter - bin nich sicher, glaube aber, du hast in deiner Bsp-xlsm n bisschen was vergessen, da zumindest deine gezeigte Grafik mehr/andere Infos enthält als deine gezeigte Datei.
Ich kann deinen Erklärungen folgen bis zum "Datei öffnen"-Dialog (bis dahin kommst du ja auch selbst weiter :-) )
Frage 1
...habe ich schon zu "Nun soll in jeder Zeile wo ein Alarm abfällt, jeweils die Dauer des Alarms eingefügt werden."
Und woher soll - ich - wissen, wie lange so ein Alarm dauert?
In deiner Grafik stehen in der Spalte "Dauer" in einigen Zeilen Werte drin - woher hast du diese Werte? - (wie) soll ich diese Werte übernehmen?
Frage 2
"Weiterhin gibt es eine Spalte in der mit belibigem Zeichen dieser Alarm ausgewählt wird."
Und welche Spalte in deiner Bsp-Datei ist das?
Spalte Checkbox oder Spalte O-Test?
Oder meinst du eine der Spalten unter "Zugehörigkeit" in deiner Grafik? (diese Spalten gibt es in deiner Bsp-Datei nicht)
Frage 3
"Jedoch komm ich mit der Berechnung der Dauer des jeweiligen Alarms nicht klar, da sich das teilweise mit anderen überschneidet"
Wieso kommst du damit nicht klar? Darf es nicht passieren, dass in deiner Grafik...
...am 04.03.2019 um 12:12:12 A14 BYPASS - WR SEQ startet und 6 Sekunden dauert
während schon
...am 04.03.2019 um 12:12:15 A15 BYPASS - FAULT startet und 10 Sekunden dauert
der Alarm A15 BYPASS - FAULT beginnt also 1 Sekunde - bevor - Alarm BYPASS - WR SEQ beendet ist.
So, ich hab bestimmt noch mehr Fragen, aber ich würd mich freuen, wenn ich von dir schon mal auf Frage 1-3 eine Antwort bekomme.
Ciao
Thorsten
Anzeige
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 10:07:28
Hallo
Danke für die Hilfe, ja ich denke das unterscheidet sich mittlerweile und ich habe das falsche Bild angehangen.....
Das Bild diente mehr zur Verdeutlichung des Problems und die dort eingetragene Dauer ist nur von mir errechnet und eingetragen.
zu den Fragen


Frage 1

...habe ich schon zu "Nun soll in jeder Zeile wo ein Alarm abfällt, jeweils die Dauer des Alarms eingefügt werden."
Und woher soll - ich - wissen, wie lange so ein Alarm dauert?
In deiner Grafik stehen in der Spalte "Dauer" in einigen Zeilen Werte drin - woher hast du diese Werte? - (wie) soll ich diese Werte übernehmen?
Es gibt grundlegend unterschiedliche Alarme die jeweils mit einem A beginnen und eine Zahl dahinter haben
Da läuft quasi der Alarm auf oder wird er erzeugt.
Ein abfallender Alarm wird im originalem LOG mit einem * dahinter gekennzeichnet.
Beim Import wird der * allerdings schon durch ein X ersetzt, da ich dachte es könnte zum Problem im Code werden.
D.h. z.B. A15 - Beginn ..... A15*/A15X - Ende
In der Spalte "Dauer" soll die errechnete Dauer des Alarms durchs VBA eingetragen werden.
Dabei ist es mir eigentlich egal, ob das in der Zeile des Auftretens oder des Abfallen des Alarms eingetragen wird.... wie es programmtechnisch einfacher ist


Frage 2

"Weiterhin gibt es eine Spalte in der mit belibigem Zeichen dieser Alarm ausgewählt wird."
Und welche Spalte in deiner Bsp-Datei ist das?
Spalte Checkbox oder Spalte O-Test?
Oder meinst du eine der Spalten unter "Zugehörigkeit" in deiner Grafik? (diese Spalten gibt es in deiner Bsp-Datei nicht)
Mit der Taste "X-Test" wird lediglich in allen Zeilen mit Inhalt in Spalte A, beginnend mit Zeile 2 abwärts, ein X in Spalte "X-Test" eingetragen
Mit der Taste "Test-Auswahl" wird in jede Zeile mit Inhalt in Spalte "Checkbox", beginnend mit Zeile 2 abwärts, ein O in Spalte "O-Test" eingetragen
Dies stellt die Auswahl von Events für die spätere Übergabe der Events in das Protokoll dar.
Die Zugehörigkeit soll nur anzeigen welches Auftreten und Abfallen des Alarms zusammengehört.


Frage 3

"Jedoch komm ich mit der Berechnung der Dauer des jeweiligen Alarms nicht klar, da sich das teilweise mit anderen überschneidet"
Wieso kommst du damit nicht klar? Darf es nicht passieren, dass in deiner Grafik...
...am 04.03.2019 um 12:12:12 A14 BYPASS - WR SEQ startet und 6 Sekunden dauert
während schon
...am 04.03.2019 um 12:12:15 A15 BYPASS - FAULT startet und 10 Sekunden dauert
der Alarm A15 BYPASS - FAULT beginnt also 1 Sekunde - bevor - Alarm BYPASS - WR SEQ beendet ist.
Grundsätzlich können alle Alarme gleichzeitig anstehen.
Es wird quasi nie vorkommen, dass z.b. zweimal hintereinander ein A15 ansteht.
Ein Event wirt stets begonnen und wieder beendet
Mein Problem ist mehr, wie ich z.b. zu einem A15X das nächste darunter stehende A15 finde, daraus die Dauer berechne und in die entsprechende Zeile eintrage.
Zu mal es auch sein kann, dass ein Event an einem Tag 23 Uhr auftritt und erst am nächsten (oder auch am übernächsten Tag) wieder abfällt....
Ich hoffe ich konnte für Klarheit sorgen :-)
LG Robert
Anzeige
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 10:30:17
Hier noch mal wie ich mir den Vorgang grob vorstelle.
Start
- Finde Alarm mit X Ab Zeile 2
- Finde A15X in Zeile 6
- suche nächsten A15 unterhalb
- Gefunden in Zeile 7
- Erreche Dauer in Zeile 7 von A15 in Spalte "Dauer"
Fertig
Weiter
- Suche nächsten Alarm mit X unterhalb des letzten ausgewerteten Alarm
- Finde A15X in Zeile 8
- suche nächsten A15 unterhalb
- Gefunden in Zeile 9
- Erreche Dauer in Zeile 9 von A15 in Spalte "Dauer"
Fertig
Weiter
- Suche nächsten Alarm mit X unterhalb des letzten ausgewerteten Alarm
- Finde A8X in Zeile 10
- suche nächsten A8 unterhalb
- Gefunden in Zeile 14
- Erreche Dauer in Zeile 14 von A8 in Spalte "Dauer"
Fertig
und so weiter...
Anzeige
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 11:13:48
Hi Robert :-)
danke, ich hatte schon mit deiner Erklärung um 10:07:28 Uhr verstanden, WIE die Berechnung der Dauer erfolgen soll:
Dein Hinweis (der bis dahin fehlte oder ich nicht gesehen hatte) D.h. z.B. A15 - Beginn ..... A15*/A15X - Ende
war der Schlüssel zum Erfolg :-)
Jetzt bastel ich nur noch an der Feinheit, auch Tageswechsel zu berücksichtigen.
Melde mich später wieder.
Ciao
Thorsten
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 11:22:39
ohhhhkay.... na wenn das bei Dir derart schnell geht, was ich woll vollends bescheuert :-D
1000 Dank
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 11:51:27
soooooo :-)
Hi Robert,
jep, nach deinem "richtigen" Hinweis war die Berechnung von Dauer nicht sooo schwer :-)
Dein Gedankenfehler war:
Du wolltest in Zeile 2 bis zur letzten, genutzen Zeile alles berechnen.
Da aber die Einträge (Fehler beginnt/Fehler endet) in der CSV-Datei in umgekehrter Reihenfolge eingetragen werden (was ja logisch ist, da der Beginn immer vor dem Ende kommt :-)) ), muss der Code zur Dauerberechnung auch in der letzten, benutzen Zeile beginnen und in Zeile 2 enden.
Dabei "rausgekommen" ist dann das hier:
https://www.herber.de/bbs/user/149137.zip
Entpack erst mal beide Dateien - bevor du - die xlsm-Datei startest.
Wie du siehst, heißt die csv-Datei jetzt "rs3hc_Log_demo_neu.csv".
Dafür der Grund ist, weil du in deiner csv-Datei keinen Beginn/Ende mit Tageswechsel hast, musste ich erst mal in der csv-Datei einen Tageswechsel eintragen.
So, jetzt starte die xlsm-Datei - aber klick noch nicht auf den Import-Button!
Schau dir erst mal die Zeilen 163 + 169 an.
Diese Zeilen sind gelb gefärbt, damit du nach dem Import diese Zeilen mit Tageswechsel schneller wiederfindest.
Starte jetzt den Import - mit meiner csv-Datei!!!
Schau dir noch mal die gelben Zeilen an.
In 169 beginnt der Fehler um 23:53:01 Uhr und endet in 169 um 00:03:01 Uhr
Dauer = 10 minuten, oder 00:10:00 :-)))
Soooo, das wars erst mal von mir.
Ich glaub, du hattest noch weitere Fragen. Die kann ich aber jetzt noch nicht beantworten, da ich um 12:00 Uhr telefonisch + AnyDesk mit nem Bekannten verabredet bin, der auch Excel-Probleme hat....seuffzzz :-)
Konnte ich denn erst mal mit der automatisierten Dauerberechnung helfen?
Ciao
Thorsten
Anzeige
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 13:48:06
ist auf einmal dein Internet ausgefallen :-P oder hast du nur noch keine Zeit zum Antworten?
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 15:35:48
hehe ne aber wir waren erst mal Essen... da war ich quasi offline :-)
Ja danke das passt und funktioniert super.
Eine Frage habe ich ja noch. (evtl kommen noch mehr :D)
Das war jetzt das Log von einem von 3 Geräten.
Kann ich beim Import die Reihenfolge, in der er die Spalten fühlt, beeinflussen?
Das unterscheidet sich leider von Gerät zu Gerät..
Wie ich das importiere siehst du hier... habs noch mal aktualisiert.
https://www.herber.de/bbs/user/149141.zip
Gerät 1 (welches wir jetzt hatten):
ID# ---- Alarmkürzel ---- TT/MM/YY ---- hh:mm:ss ---- MSG
Gerät 2
ID# ---- Alarmkürzel ---- MSG ---- hh:mm:ss ---- TT/MM/YY
Gerät 3 (aus der Kürzel ergibt sich der Text, den ich nachträglich noch einfügen kann)
Alarmkürzel ----- TTMMJJ ---- hhmm
Anzeige
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 16:49:35
Könnte mir in der schnelle nur vorstellen, für jeden LOG-Typ einen seperaten import zu erstellen.
Wäre wohl auch das logischste.
hier könnte ich dann bei z.b. einem 3-Spalten-Log einfach Spalte für Spalte füllen lassen.
Quasi so...
Destination:=Range("$A$2") ----.TextFileColumnDataTypes = Array(1, 9, 9, 9)
Destination:=Range("$B$2") ----.TextFileColumnDataTypes = Array(9, 1, 9, 9)
Destination:=Range("$C$2") ----.TextFileColumnDataTypes = Array(9, 9, 1, 9)
Destination:=Range("$D$2") ----.TextFileColumnDataTypes = Array(9, 9, 9, 1)
Oder geht das schneller?
Zum Thema QueryTables.Add habe ich eine Option für eine Änderung der Reihenfolge finden können
Anzeige
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 18:54:48
Hi,
schön, freut mich, dass ich schon mal helfen konnte.
Bei deinem neuen Problem (ich wusste bisher noch nicht, dass du - unterschiedliche - CSVs einlesen musst) muss ich mal schauen.
Heute wird das wohl nix mehr.
Und ob ich Mo-Fr dazu komme, weiß ich auch noch nicht (oft leider viel + lange im Job zu tun :-/)
Aber....
...du hast eine Option für eine Änderung der Reihenfolge bei QueryTables.Add gefunden? Wo denn? Zeig mal bitte.
ciao erst mal
Thorsten
AW: Excel Log-Datei Import - Auswertung von
14.11.2021 19:41:37
ne das sollte KEINE Lösung gefunden... :D
Daher ja die Idee mit dem mehr fach Ausführen des Einlesens, was auch funktioniert.
Kein Stress, bin für die jetzige Hilfe schon mehr als dankbar !!
LG aus dem Erzgebirge
Anzeige
AW: Excel Log-Datei Import - Auswertung von
16.11.2021 19:55:52
Hi Robert,
bin fast fertig. Das Auswerten + berechnen für Datei1 + Datei2 steht schon.
Aber wie bitte schön, soll in Datei3 berechnet werden?!
Hier ein Auszug aus deiner Bsp-Datei3:

A15* 030202 2210
A8 * 030202 2210
A1 * 030202 2210
A8   030202 2210
A1   030202 2210
A15  030202 2210
Ich deute die Zeilen so:
Alarmkürzel     Datum      Uhrzeit
A15*            03.02.2002 22:10
A15             03.02.2002 22:10
Erkennst du das Problem? - bei der Uhrzeit fehlen die Sekunden
Somit würde als Ergebnis der Dauerberechnung - immer - 00:00:00 rauskommen.
Wie soll's hier weitergehen?
Ciao
Thorsten
AW: Excel Log-Datei Import - Auswertung von
17.11.2021 06:15:42
So...
Hi Robert,
auch wenn du auf meine Frage von 19:55:52 noch nicht geantwortet hast, hab ich trotzdem schon mal weiter und fertig gemacht.
(zu meiner Frage von 19:55:52 stehen weiter unten noch Infos)
hier mein Ergebnis in Verbindung mit deinen 3 Bsp-CSV-Dateien:
https://www.herber.de/bbs/user/149198.zip
(auch hier gilt: erst alle Dateien entpacken, dann die Exceldatei öffnen! (...und erst mal mit den 3 Bsp-CSV's ausprobieren))
Die Datei enthält die Excel-Datei mit meinem VBA-Code und deinen 3 Bsp-CSV-Dateien, nach dessen Inhalten ich den Code entwickelt habe.
Alle 3 csv-Dateien werden korrekt eingelesen und auch die Dauerberechnung funktioniert.
Jetzt zu den Details:
Mein Code lief ja schon mit deiner zuerst gezeigten csv-Datei.
Und trotzdem musste ich den Code fast komplett umschreiben, da du später mit 2 weiteren csv-Dateien kamst, die aber ganz anders aufgebaut sind.
Beachte auch die Kommentare innerhalb des Codes. Ich hab versucht, zu erklären, was der Code macht.
Nun denn, es hat zwar n bisschen gedauert, aber nun läufts.
Den Code von dir für den Import-Button hab ich deaktiviert.
Ein Klick auf den Button hab ich zu meinem Code umgeleitet.
Was sagste zum Ergebnis? Bin auf dein Feedback neugierig.
Ciao
Thorsten
...weitere Infos zu meiner Frage von 19:55:52:
wenn du mittlerweile eine CSV-Datei "Gerät_3_Delta_22011922.TXT" mit Angabe von Sekunden bekommen hast, dann lad die bitte per Upload in deiner Antwort hoch. Dann muss ich den Code für Gerät_3 noch mal anpassen.
AW: Excel Log-Datei Import - Auswertung von
17.11.2021 07:14:29
Hallo Thorsten.
ich war aus privaten Gründen leider nicht groß online und habe deine Antworten leider verpasst.
Hut ab.... da seh ich erst mal, dass man, nur weil man bissel Excel beherscht noch lange ein VBA-Depp sein kann ;-D
Ich danke dir vielmals für deine Unterstützung.
Tja das Gerät von Typ 3 ist eine uralte fast komplett analoge USV, wo ich froh bin wenn dass die überhaupt ein Log liefert.
Ja du hast richtig gesehen, Sekunden kennt das Gerät nicht :)
Erschwerend kommt dazu, dass wenn die Mainboard-Batterie ne Macke hat, er die Zeiten zwar speichert, aber die Jahreszahlen völlig falsch sein können.
Ich hab dir noch mal 4 Logs vom Typ 3 angehangen, da siehst du das Elend.
https://www.herber.de/bbs/user/149200.zip
Jetzt wäre die Frage ob es für die Berechnung der Dauer hier sinnvoll wäre das Jahr komplett zu ignorieren und nur Tag und Monat zusammen mit der Zeit zu betrachten.
Hier sehe ich höchstens da problem, dass ein Event am 1.1. abfällt welches bis zum 31.12. aufgetreten ist (oder? )
Zum Anderen habe ich noch ein wenig an der Ausgabe der Dauer gefeilt, was soweit auch klappt:
With Range("F" & lloRowStart)
Select Case .Value
Case Is >= 1: .NumberFormat = "d ""Tage"" h""h"" m""m"" s""s"""
Case Is >= 1 / 24: .NumberFormat = "h""h"" m""m"" s""s"""
Case Is >= 1 / 1440: .NumberFormat = "m""m"" s""s"""
Case Else: .NumberFormat = "s""s"""
End Select
End With
AW: Excel Log-Datei Import - Auswertung von
17.11.2021 07:47:01
Hi,
ja, das Jahr spielt eigtl nur eine Rolle, wenn eben zwischen Alarmstart und -ende ein Jahreswechsel stattfindet.
Am wichtigsten sind und bleiben die Uhrzeiten mit Sekunden! und den Tagen
Denn z Bsp aus

A15* 12091: 1245
A8 * 12091: 1245
A1 * 12091: 1245
A2 * 12091: 1245
A15  12091: 1245
A8   12091: 1245
wird nach Entfernung von Jahres-Fehl-Eintrag und Dauerberechnung wieder das hier

A15* 1209 1245 00:00:00
A8 * 1209 1245 00:00:00
A1 * 1209 1245
A2 * 1209 1245
A15  1209 1245
A8   1209 1245
das Ergebnis KANN - muss aber nicht - richtig sein
Du wirst es nur niemals kontrollieren können.
Sogar die Berechnungen (mit größer als 00:00:00) mit der mir bekannten Geräte_3-Datei kann man nur als UNGEFÄHR-Werte bezeichnen!
Denn die Dauer wird nur deswegen mit größer als 00:00:00 angezeigt, weil sich die Minutenwerte geändert haben.
Denn nur, weil z Bsp dieses Ergebnis rauskommt...

A15X	07.12.2001	22:39:00		00h 01m 00s
A15	07.12.2001	22:38:00
...muss das lange nicht stimmen, weil die Sekunden nicht bekannt sind.
Und somit kann ich ab hier nicht weiterhelfen, da für Gerät_3 die gelieferten "Rohdaten" nicht ausreichend sind.
Aber wenigstens passt ja alles für Gerät_1 + Gerät_2
Ciao
Thorsten
...ha!...1 Idee hab ich noch! Sag deinem Chef (wenn er es ist, der die Berechnungen haben will), dass er ne neue USV kaufen soll, die in den Fehler-Logs auch die Datums- und Uhrzeitwerte korrekt speichert...
AW: Excel Log-Datei Import - Auswertung von
17.11.2021 08:35:01
Ja ich denke das passt schon.
Wirklich interessant für den Kunden ist am Ende warscheinlich nur, wie lang ein Netzausfall (A1) war und dass das Gerät gestützt hat.
Und den Anlagen Typ kann ich bei Bestandsanlagen nicht beeinflussen, Wir verkaufen nur noch Anlagen vom Logtyp 1 :D
Und da ich dann über das Hakensetzten noch auswählen kann, ist das nicht tragisch..
Erst mal 1000000 Dank für deine legendäre Hilfe !!!!
Ich wurstel das jetzt mal zusammen :D
LG Robert
AW: Excel Log-Datei Import - Auswertung von
17.11.2021 08:52:18
dann is ja alles erledigt - du solltest bei beantworteten Fragen - nicht - mit Haken setzen die Option " Aktiviere das Kontrollkästchen, wenn die Frage mit diesem Beitrag nicht beantwortet wurde und der Thread weiter bei den offenen Fragen angezeigt werden soll." aktivieren
AW: Excel Log-Datei Import - Auswertung von
18.11.2021 19:54:19
Hallo Vater Oberschlumpf :)
Ich muss noch mal nachhaken, denn es hat sich noch ein Gerätetyp ( Pro ) aufgetan, der genau so wie Typ 2 aufgebaut ist.
Allerdings hat diese einen etwas längeren Header, sprich die relevanten Daten beginnen in Zeile 12 statt wie in Typ 2 in Zeile 12.
Idealerweile müsste ich bei deinem Code, zur Unterscheidung zwischen Typ 2 und Typ 4, nur eine weitere Zeile im Log abfragen.
Bei Typ 2 enthält diese den Wert "2" und bei Typ 3 ist die leer.
Aber wie frage ich jetzt neben ....
Line Input #1, lstrRow
...eine weitere Zeile ab?
Open lFile For Input As #1
Do Until EOF(1)
Line Input #1, lstrRow
'----------------------------Ende Prüfung Plus E --------------------------------
'---wenn die nächste Prüfung WAHR ist, handelt es sich um Datei "Gerät_1_..."---
If Len(lstrRow) > 31 And _
IsNumeric(Left(lstrRow, 1)) = True And _
Not IsDate(Right(Trim(lstrRow), 8)) Then
liRowStart = 11
Exit Do
End If
'----------------------------Ende Prüfung Plus old --------------------------------
'---wenn die nächste Prüfung WAHR ist, handelt es sich um Datei "Gerät_2_..."---
If Len(lstrRow) > 31 And _
IsNumeric(Left(lstrRow, 1)) = True And _
IsDate(Right(Trim(lstrRow), 8)) Then
liRowStart = 12
lboColChg = True
Exit Do
End If
'----------------------------Ende Prüfung Pro (ähnlich Plus old) -------------------
'---wenn die nächste Prüfung WAHR ist, handelt es sich um Datei "Gerät_2_..."---
' If Len(lstrRow) > 31 And _
IsNumeric(Left(lstrRow, 1)) = True And _
IsDate(Right(Trim(lstrRow), 8)) Then
' liRowStart = 18
' lboColChg = True
' Exit Do
' End If
'----------------------------Ende Prüfung Delta--------------------------------
'---wenn die nächste Prüfung WAHR ist, handelt es sich um Datei "Gerät_3_..."---
If Left(lstrRow, 1) = "A" And _
Len(lstrRow) = 16 And _
IsNumeric(Right(lstrRow, 4)) = True Then
lstrTime = Right(lstrRow, 4)
If IsDate(Left(lstrTime, 2) & ":" & Right(lstrTime, 2)) Then
liRowStart = 5
lboMachine3 = True
Exit Do
End If
End If
'----------------------------Ende Prüfung Gerät_3--------------------------------
Loop
Close
AW: Excel Log-Datei Import - Auswertung von
18.11.2021 20:14:56
Hier noch mal der Vergleich.
Links Typ2
Rechts Typ3 (Pro)
LG Robert
Userbild
AW: Excel Log-Datei Import - Auswertung von
19.11.2021 07:01:28
Zitat: "...sprich die relevanten Daten beginnen in Zeile 12 statt wie in Typ 2 in Zeile 12...."
?!?aha?!?
Hi,
ich gebe mir doch auch Mühe, wenn ich versuche, dir zu helfen. Kannst du bitte deine Texte vor dem Versenden noch mal lesen und korrigieren, wenn erforderlich?
Hättest du nicht glücklicherweise das Bild nachgeliefert, müsste ich jetzt noch mal nachfragen, welche Zeile du denn meinst - denn 12 und 12 sind identisch - eigtl meinst du 18...(und zeig lieber die csv-Datei(en) als txt-Datei und nicht als Bild(er))
Nun denn, die Fragen meinerseits bleiben trotzdem nicht aus. Was meinst du denn mit:
"Idealerweile müsste ich bei deinem Code, zur Unterscheidung zwischen Typ 2 und Typ 4, nur eine weitere Zeile im Log abfragen.
Bei Typ 2 enthält diese den Wert "2" und bei Typ 3 ist die leer."

Im gezeigten Bild finde ich weder links noch rechts eine Zeile, die deiner zitierten Beschreibung entspricht - oder ich erkenne es nicht - kann ja auch sein.
Unabhängig davon würde ich, ausgehend vom Bild und den csv-Dateien, die ich kenne, so vorgehen:
1. Wie gehabt, Zeile für Zeile der csv-Datei einlesen
2. Zusätzliche Prüfung wäre dann die Überschriftenzeile (nur Gerätetyp ( Pro ) hat die Überschriftenzeile in Englisch)
- und damit mein Code diese Zeile erkennt, würde ich jetzt spontan diese Kontrolle einbauen

If Len(lstrRow) > 37 And _
Instr(lstrRow, "description") > 0 Then
liRowStart = 18
lboColChg = True
Exit Do
End If
Hilfts?
Ciao
Thorsten
AW: Excel Log-Datei Import - Auswertung von
19.11.2021 15:16:47
Oh Mist.... entschuldige bitte.
Da war die Uhrzeit schon weiter als mein Verstand...
Sonst bin ich gewissenhafter.
Danke für deine Mühe.
Ich habe die Logs noch mal angehangen.
https://www.herber.de/bbs/user/149254.zip

eigtl meinst du 18...(und zeig lieber die csv-Datei(en) als txt-Datei und nicht als Bild(er))
Du hast natürlich vollkommen recht, ich meine Zeile 18.
Die Idee mit der Abfrage der Englischen Spaltenüberschrift ist zwar nicht schlecht, aber nicht soo gut.
Leider gibt es Geräte mit internationaler Firmware, die quasi alles in Englisch ausgeben, oder halt in der jeweiligen Landessprache...
Das würde das Konstrukt wieder zerballern.
Daher war mein Ansatz die Abfrage des Typ2 schlicht zu kopieren.
Dort würde ich in der If-Schleife eine weitere Abfrage intergrieren, welche eine der Zeilen 12 bis 14 abfragt.
Ist diese leer handelt es sich um die Typ 4 , sonst ist es die Typ 2
Umgekehrt müsste man die Abfrage natürlich auch in Typ 2 gegenteilig abfragen
Ist diese NICHT leer handelt es sich um die Typ 2.
Ich hoffe du weist was ich meine und dass ich diesmal nichts relevantes vergessen habe.
LG Robert
AW: Excel Log-Datei Import - Auswertung von
20.11.2021 12:50:03
Habe noch mal intensiv gesucht und, für mich, eine brauchbare Lösung gefunden.
Ist zwar sicher nicht die eleganteste oder so universell anpassbar.
Ich lade mal das Ergebnis hoch.
https://www.herber.de/bbs/user/149263.zip
LG und vielen Dank für deine intensive Hilfe.
Ohne Dich hätte ich es nicht hinbekommen.
AW: Excel Log-Datei Import - Auswertung von
20.11.2021 19:17:37
Hab mir deine Idee angeschaut - na, geht doch! :-)
Mein erster Impuls war, zu schreiben: "Na ja, die MsgBoxen bei jedem Import könnte man ja auch weglassen, oder?"
Aber die MsgBox-Idee fand ich Sekunden später gut :-)
Denn du weißt ja, genau welche csv-Datei du gerade für den Import zum Öffnen ausgewählt hast.
Somit weißt du auch, zu welchem Geräte-Typ diese Datei gehört.
Wenn jetzt aber die MsgBox nicht den richtigen "Treffertext" anzeigt - dann weißt du auch - dass der Code irgdwo "falsch abgebogen" ist :-)
...und kannst im Code wieder irgdwo irgdwas anpassen
Freut mich, dass ich helfen konnte.
AW: Excel Log-Datei Import - Auswertung von
20.11.2021 12:53:19
Ich hab nach intensiver Suche noch eine, für mich, passende Lösung gefunden.
Ist zwar nicht die eleganteste, aber individuell anpassbar.
Hab mal das Ergebnis hochgeladen, falls jemand was ähnliches vor hat.
https://www.herber.de/bbs/user/149263.zip
Lieber Oberschlumpf, vielen Dank für deine große Unterstützung.
Ohne dich hätte ich es nicht gepackt.
LG Robert
AW: Excel Log-Datei Import - Auswertung von
20.11.2021 12:53:58

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige