Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1576to1580
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
Top 5 Fehler auflisten
25.08.2017 14:42:54
Marco
Servus alle,
ich habe ein Problem und zwar habe ich täglich ca. 100 - 200 Fehlermeldungen von Baugruppen. Von den 100 - 200 Fehlern kommen manche öfter vor. Ich möchte mir jetzt von den 100 - 200 nur die 5 häufigsten sprich die TOP 5 Fehler anzeigen lassen und wie oft der Fehler vorgekommen ist.
Problem ist das manche Baugruppen öfter getestet werden und mit dem gleichen Fehler ausfallen. Es soll aber nur der gleiche Fehler einmal pro Baugruppe gezählt werden.
Wie mache ich denn das am geschicktesten? Vielleicht mit einer Matrixfunktion in der jeweiligen Zelle? Oder geht so was auch aktiv mit VBA? Ich würde mich über Hilfe echt freuen.
Beispiel Datei:
https://www.herber.de/bbs/user/115765.xlsx

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Top 5 Fehler auflisten
25.08.2017 16:16:47
ChrisL
Hi
Hier noch eine Makrolösung:
Sub t()
Application.ScreenUpdating = False
Worksheets("Fehlermeldungen").Copy After:=Sheets(Sheets.Count)
Range("B3:C" & Cells(Rows.Count, 2).End(xlUp).Row).RemoveDuplicates _
Columns:=Array(1, 2), Header:=xlYes
Range("D3") = "Anzahl"
With Range("D4:D" & Cells(Rows.Count, 2).End(xlUp).Row)
.Formula = "=COUNTIF(C:C,C4)"
.Value = .Value
End With
Range("B3:D" & Cells(Rows.Count, 2).End(xlUp).Row).RemoveDuplicates _
Columns:=Array(2, 3), Header:=xlYes
Range("E3") = "Rang"
With Range("E4:E" & Cells(Rows.Count, 2).End(xlUp).Row)
.Formula = "=RANK(D4,D:D)"
.Value = .Value
End With
Range("B3:E3").AutoFilter
With Range("B3:E" & Cells(Rows.Count, 2).End(xlUp).Row)
.AutoFilter Field:=4, Criteria1:=Array("1", _
"2", "3", "4", "5"), Operator:=xlFilterValues
End With
With ActiveSheet.AutoFilter.Sort
.SortFields.Clear
.SortFields.Add Key:=Range("E3:E" & Cells(Rows.Count, 2).End(xlUp).Row), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("C4:D" & Cells(Rows.Count, 2).End(xlUp).Row).Copy Worksheets("Dashboard").Range("D6")
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

cu
Chris
Anzeige
AW: Top 5 Fehler auflisten
25.08.2017 19:21:36
Marco
Danke euch beiden für die Hilfe. Die Variante über die Zellen funktioniert wunderbar ich muss es nur noch etwas anpassen WF.
ChristL wie funktioniert dein VBA Code? Muss ich den Code über einen Button aufrufen?
Ich habe es jetzt mal über einen Button versucht aber bei mir öffnet sich dann immer ein neues Tabellenblatt?
AW: Top 5 Fehler auflisten
25.08.2017 19:23:22
Marco
Ich bekomme immer die Meldung Objektvariable oder with Blockvariable nicht festgelegt.
AW: Top 5 Fehler auflisten
25.08.2017 19:40:15
ChrisL
Hi Marco
Mit deiner Beispielmappe sollte es funktionieren. Falls du einen ActiveX CommandButton verwendest, versuch mal in den Eigenschaften vom Button TakeFocusOnClick=False zu setzen.
Der Code legt eine Blattkopie an und entfernt Duplikate, setzt Anzahl und Rang, entfernt erneut Duplikate, filtert, sortiert, kopiert und dann wird das Blatt wieder gelöscht.
cu
Chris
Anzeige
AW: Top 5 Fehler auflisten
25.08.2017 20:02:23
Marco
Danke Christ ich glaube ich habe es jetzt =D zumindestens funktioniert es. Ich wollte dich auch noch nach der Funktionsweise des Codes fragen was der eigentlich macht.
Jetzt habe ich aber noch eine Frage bzw. große bitte an dich. Dein Code funktioniert ja wunderbar, aber die einzelnen Fehler sind einzelnen Stationen zugeordnet. Ich würde gerne die TOP5 Fehler der einzelnen Stationen zuordnen die am 24.08.2017 ausgefallen sind. Bzw. wenn ich in der Zelle D3 das Datum 23.08.2017 eingebe und auf den Button clicke möchte ich mir von der Anlage 1, 2, 3 und 4 die jeweils dazugehörigen TOP 5 Fehler anzeigen lassen. Ist das auch möglich oder besser gesagt kannst du mir da bitte bitte helfen das würde mein Problem extrem eingrenzen.
Viele Grüße Marco
Beispiel Datei mit deinem Code hier:
https://www.herber.de/bbs/user/115776.xlsm
Anzeige
AW: Top 5 Fehler auflisten
26.08.2017 11:38:36
Marco
hm kann mir jemand anders vielleicht weiterhelfen
AW: Top 5 Fehler auflisten
26.08.2017 15:42:42
Piet
Hallo Marco
es gibt bereits eine Beispieldatei von Christ mit einer Makro Lösung. Was ist daran nicht okay?
Man sieht die Baugruppen, den Fehlercode, die Fehler Haeufigkeit. Wo also ist das Problem?
mfg Piet
AW: Top 5 Fehler auflisten
26.08.2017 16:03:44
Marco
Habe ich gesagt das etwas nicht okay ist? Nein! Ich habe ihn gefragt ob es auch erweiterbar wäre mehr nicht
AW: Top 5 Fehler auflisten
26.08.2017 18:09:10
Piet
Hallo Marco
Sorry, habe ich vielleicht falsch verstanden. Was soll den erweitert werden?
Wir sehen deine Datei ja nicht, wissen nicht was du für weitere Ideen hast?
mfg Piet
AW: Top 5 Fehler auflisten
26.08.2017 18:20:44
Piet
Nachtrag
wenn Daten wie Datum oder Stationen ausgewertet werden müssen waere es wichtig zu wissen wo diese Daten stehen?
In welcher Tabelle, welcher Spalte, Zeilen von-bis, usw. Und nach welchem Kriterium auszuwerten ist.
Gut waere noch mal ein Beispiel zu haben wie die neue Lösung aussehen soll. In welcher Spalte was stehen soll, am besten mit der Überschrift, damit wir dein System verstehen. Wir sehen die Datei ja nicht! Auf gut Glück kann man nicht programmieren.
mfg Piet
Anzeige
AW: Top 5 Fehler auflisten
26.08.2017 18:31:22
Marco
Das wundert mich jetzt Piet ich habe die Beispiel Datei hochgeladen mit Datum und Station. Vielleicht habe ich aber mein einliegen auch falsch formuliert.
Also nochmal hier meine Beispiel Datei mit dem Code von ChrisL:
https://www.herber.de/bbs/user/115776.xlsm
auf der Seite Dashboard möchte ich mir die TOP 5 Fehler zu den einzelnen Stationen in Abhängigkeit von der Zeit anzeigen lassen. Auf der Dashboard seite kann man im orangen Feld das Datum eingeben. Abhängig davon sollten alle Top 5 Fehler zu den jeweiligen Stationen in den darunter liegenden Kästchen aufgelistet werden.
In der angehängten datei funktioniert die TOP 5 Auflistung mit der Häufigkeit wunderbar, aber nicht in Abhängigkeit von der Zeit und er Station. Könnte mir dabei bzw. du Piet oder ChrisL vielleicht weiterhelfen?
Viele Grüße Marco
Anzeige
AW: Top 5 Fehler auflisten
27.08.2017 11:59:36
Piet
Hallo Marco
anbei die Beispieldatei mit meiner Makro Lösung zurück. Bitte zuerst mit Originaldaten in der Beispielmappe testen ob alles klappt.
Bei mir gibt es eine Auswertungsliste "ASW Liste", die ich aber nach dem koieren und sortieren nicht lösche! Man kann sie unsichtbar stellen. Wen mehr als 5 Top Werte vorliegen kommt seitlich eine "Überlauf" Notiz. Ich hoffe das ich die Aufgabe richtig verstanden habe.
https://www.herber.de/bbs/user/115792.xlsm
mfg Piet
Funktioniert super. Noch eine Frage?
27.08.2017 14:01:11
Marco
Danke Piet für die Arbeit. Es ist genau so wie ich es mir vorgestellt habe.
Eine Frage habe ich dennoch, wenn ich darf. Und zwar habe ich gesehen das du eine Schleife verwendet hast in der du die Stationen von 1 - 4 abfragst. Jetzt würde ich gerne wissen ob dein Makro immer noch funktioniert wenn die Stationen keine Zahlen mehr von 1 - 4 haben sondern Name oder Nummern z.B. Nötanlage und Nietanlage oder 43021 und 31402? In der Datenbank würde dann auch nicht mehr 1, 2, 3, 4 stehen sondern die jeweiligen Namen oder Nummern. Funktioniert dann dein Code immer noch?
Oder anders gesagt geht es auch das die Zellen in denen die Stationen stehen flexibel sind? Praktisch ich schreibe auf der Dashboard Seite da wo Station 1 steht, anstatt 1 jetzt Nietanlage rein oder Haus und dann sucht das makro alle Fehler die zu dem Begriff in der Zelle passen? Weil die Stationnummern 1 bis 4 die ich in meiner Datei angeben habe waren ja nur Beispiele. In wirklichkeit haben die Stationen andere Namen oder längere Nummern.
Grüße Marco
https://www.herber.de/bbs/user/115795.xlsm
Anzeige
AW: Funktioniert super. Noch eine Frage?
27.08.2017 16:11:21
Piet
Hallo Marco
es freut mich das meine Lösung auf Anhieb so gut klappt. Anbei der geanderte Code um Stationen als Text einzulesen.
Kleine Neuerung: - Oben gibt es eine Const Anweisung mit StationMax = 4 - Das ist die Anzahş der Stationen.
Den Wert kannst du beliebig erhöhen, dann schreibt das Makro in die naechsten Zeilen weiter. Kein Limit!
Ich schicke dir den ganzen Code zum auswechseln. Ist einfacher und vor allem Fehlerfrei.
Wenn der Trhead beendet ist bitte das Haeckchen nicht mehr aktivieren! - (sonst noch offen)
mfg Piet
Option Explicit         '27.8.2017  Piet  Herber Forum
'überarbeitet auf Station als Text
Const StationMax = 4    'Anzahl der Stationen  (jetzt 4)
Dim Datum As Date, rfind As Range
Dim j As Long, n As Long, k As Integer
Dim Station As Variant, st As Integer
'Modul zum Fehlerhäufigkeit auflisten
Sub Fehlermeldungen_Auswerten()
Dim ASW As Worksheet, z As Long
Dim DSB As Worksheet, lz As Long
Dim FMD As Worksheet, dz As Long
Set ASW = Worksheets("ASW Liste")
Set DSB = Worksheets("Dashboard")
Set FMD = Worksheets("Fehlermeldungen")
'Datum aus Dashbord holen
Datum = DSB.Range("D3").Value
'LastCell in Fehlermeldungen ermitteln
lz = FMD.Cells(Rows.Count, 2).End(xlUp).Row
'Datum in Fehlermeldungen suchen
Set rfind = FMD.Columns(2).Find(What:=Datum, After:=Range("B3"), LookIn:= _
xlValues, LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=False)
If rfind Is Nothing Then MsgBox Datum & "  nicht gefunden": Exit Sub
Application.ScreenUpdating = False
'**********  Kopieren Programm  **********
'Datum Ende in Fehlermeldungen suchen
For j = 1 To lz
If rfind.Offset(j, 0)  Datum Then Exit For
Next j
'alte Auswertung löschen
ASW.UsedRange.Offset(4, 0).Delete shift:=xlUp
'Datumsbereich in Auswertung kopieren + sortieren
rfind.Resize(j, 4).Copy ASW.Range("B4")
'Auswertung sortieren
Call ASW_Sortiere_Anlagen
'**********  Auswertungs Programm  **********
With ASW
'LastCell in Auswertung ermitteln
lz = .Cells(Rows.Count, 2).End(xlUp).Row
'Doppelte Fehler in Baugruppen löschen
For j = 4 To lz
'Anlagen Nummer + Baugruppe vegleichen
If .Cells(j + 1, 3) = .Cells(j, 3) Then
If .Cells(j + 1, 4) = .Cells(j, 4) Then
If .Cells(j + 1, 5) = .Cells(j, 5) Then _
.Cells(j + 1, 2).Resize(1, 4) = Empty
End If
End If
Next j
'Auswertung sortieren
Call ASW_Sortiere_Anlagen
'LastCell in Auswertung ermitteln
lz = .Cells(Rows.Count, 2).End(xlUp).Row
n = 1  'Häufigkeit Zähler auf 1 setzen
'Fehler Häufigkeit >1 ermitteln
For j = 4 To lz
'Anlagen Nummer vegleichen
If .Cells(j + 1, 3) = .Cells(j, 3) Then
'Fehlermeldung: vegleichen + addieren
If .Cells(j + 1, 5) = .Cells(j, 5) Then n = n + 1
'Fehlermeldung: Auswertung auflisten
If .Cells(j + 1, 5)  .Cells(j, 5) Then
list:          'nur auflisten wenn n > 1
If n > 1 Then .Cells(j, 6) = n
n = 1
End If
Else: GoTo list
End If
Next j
End With
'Auswertung sortieren
Call ASW_Sortiere_Häufigkeit
'**********  Dashboard Programm  **********
'alte Dashboard Werte löschen + Überlauf
DSB.Range("D6:F25").ClearContents
'LastCell in Auswertung ermitteln Spalte F
lz = ASW.Cells(Rows.Count, 6).End(xlUp).Row
With ASW
'Schleife für Stationen 1-XX ausfüllen
For k = 1 To StationMax
dz = dz + 5   'Basis Zeile in Dashboard
Station = DSB.Cells(dz + 1, 2).Value
z = 0  'z in Auswertung suchen (Station)
'Schleife für 1. Zeile Station in ASW Liste finden
For st = 4 To lz
If .Cells(st, 3) = Station Then z = st: Exit For
Next st
If z = 0 Then MsgBox Station & " in ASW Liste nicht gefunden!!"
If z > 0 Then  'Station gefunden
'Schleife für Top Fünf auflisten
For j = 1 To 5
If .Cells(z, 3)  Station Then Exit For
'Fehlermeldung + Häufigkeit eintragen
DSB.Cells(dz + j, 4) = .Cells(z, 5)
DSB.Cells(dz + j, 5) = .Cells(z, 6)
z = z + 1
Next j
'"Überlauf" Anzeige bei > 5 Einträgen
If j > 5 Then
'Schleife für next Station suchen
For j = 1 To 30
If .Cells(z, 3)  Station Then Exit For
z = z + 1
Next j
'Überlauf nur wenn > 6 Einträge
If j > 1 Then DSB.Cells(dz + 5, 6) = j - 1 & " Überlauf"
End If
End If
Next k
End With
End Sub

Anzeige
AW: Die Erwartungen wurden übertroffen^^
27.08.2017 18:20:40
Marco
Danke Piet wirklich =). Kann man dich irgendwie erreichen Private Message, E-mail oder so ich habe nämlich noch kleinere Fragen zu deinem Code und weiß nicht ob ich die dir hier alle stellen soll.
Gruß Marco
AW: Die Erwartungen wurden übertroffen^^
27.08.2017 20:36:42
Piet
Hallo Marco
ich meine ich haette meine E Mail offen gestellt, vor meinen Antworten gibt es so ein Bildchen.
Kannst du darauf zugreifen? Leider gibt es hier keine PN Nachrichten.
mfg Piet
AW: Die Erwartungen wurden übertroffen^^
28.08.2017 00:35:32
Marco
Abend Piet, leider erhalte ich immer eine Fehlermeldung wenn ich auf das Bildchen klicke =/
AW: Profil öffnet sich nicht
28.08.2017 02:33:48
Marco
Abend Piet, ich wollte dir eine mail schreiben, aber leider bekomme ich hier immer eine Fehlermeldung, wenn ich dein Profil öffnen möchte.
Ich habe jetzt deinen Code in meine Datei die ich Verwenden möchte kopiert und versucht anzupassen. Leider bekomme ich es nicht hin. Ich verstehe deinen Code nicht so ganz und ich habe es mir vielleicht auch zu einfach vorgestellt. Anstatt Top 5 Fehler sind es nur noch 3, das habe ich wohl geschafft. Dann habe ich das Datum nach dem gesucht werden soll einer anderen Zelle zugewiesen das passt auch.
Aber die zuweisung der Zeilen und Spalten habe ich nicht hinbekommen, ich habe immer die falschen angegeben. Ich wollte wie in den Beiträgen vorher schon beschrieben und auch wie du es in der Test Datei hinbekommen hast die 3 häufigsten Fehler aufsummieren und der jeweiligen Station in der jeweiligen zeile zu ordnen.
Des Weiteren wollte ich deinen Code meiner Oberfläche nicht nur anpassen sondern um eine Bedingung erweitern. Und zwar sollten die 3 häufigsten Fehler und deren Summe in der Zeile der jeweiligen Station und in der Spalte der jeweiligen material nummer eingetragen werden. Ich habe jetzt zum besseren Verständnis meine Zieldatei hochgeladen die ich jetzt verwenden möchte mit der Struktur wie es sein sollte. Könntest du dir die bitte anschauen? Es ist jetzt halb 3 und ich habe es einfach nicht geschafft =(
Beispiel Datei:
https://www.herber.de/bbs/user/115822.xlsm
Anzeige
AW: Top 5 Fehler auflisten
28.08.2017 11:52:05
Piet
Hallo Marco
hier klappt es offenbar nicht, liegt am Server. Melde ich hier: Forum-Gast@hotmail.com

55 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige