ich habe glaube ich einen Denkfehler irgendwo kann ihn aber nicht finden.
Beispiel Datei: https://www.herber.de/bbs/user/157085.xlsm
Ich habe eine Liste an Datumsanzeigen. Manche Tage kommen mehrfach vor (Uhrzeit unterscheidet sich) und anderen gar nicht. (Tabelle Inbox Historie Spalte K)
Nun habe ich im Modul average das Skript middle_value:
Sub middle_value()
hist_count = Worksheets("Inbox Historie").Cells(Rows.Count, 11).End(xlUp).Row
a = Worksheets("Vorgaben").Cells(6, 2).Value
day_count = 0 'Anzahl Tage
day_sum = 0 'Anzahl Tickets
one_day = 0 'Tagwechsler (gleicher Wochentag)
For mont = 1 To 12 'Monatslauf
For dayz = 1 To 5 'Wochentagslauf
If day_sum 0 Then
Worksheets(a).Cells(mont + 19, dayz + 1).Value = day_sum / day_count 'in die Tabelle eintragen
'Auf null setzen
day_count = 0
day_sum = 0
one_day = 0
End If
For tickets = 2 To hist_count 'Historie durchgehen
If dayz = Weekday(Worksheets(Worksheets("Vorgaben").Cells(5, 2).Value).Cells(tickets, 11), vbMonday) And mont = Month(Worksheets(Worksheets("Vorgaben").Cells(5, 2).Value).Cells(tickets, 11)) Then
'If one_day = 0 Then one_day = Day(Worksheets(Worksheets("Vorgaben").Cells(5, 2).Value).Cells(tickets, 11))
If Day(Worksheets(Worksheets("Vorgaben").Cells(5, 2).Value).Cells(tickets, 11)) one_day Then
one_day = Day(Worksheets(Worksheets("Vorgaben").Cells(5, 2).Value).Cells(tickets, 11))
day_count = day_count + 1
Debug.Print day_sum & "/" & one_day & "/" & mont & "/" & day_count
End If
'Debug.Print day_sum & "/" & one_day & "/" & mont & "/" & day_count
day_sum = day_sum + 1
End If
Next
Next
Next
End Sub
Die Mittelwerte für den Monat sollen dann in die Tabelle Monatsübersicht ab Zeile B20 eingetragen werden. Soll heißen wenn ein Monat 4 Montage hat und die Einträge sich in 15, 5, 5, 15 aufteilen, dann ist der Mittelwert 10.Dies soll für jeden Monat und jeden Wochentag möglich sein.
Leider habe och nur Beispieldaten vom November und Dezember 2022. Sollte aber reichen zum Testen.
Beim Debug Print sehe ich, dass der erste Wochentag des Monats nicht richtig gezählt wird und zumindest ein Tag doppelt genommen wird. Außerdem wird kein Mittelwert für Montag im November gebildet.
Ich hoffe ich habe nichts vergessen. Ich brüte schon eine Weile darüber und habe keine weiteren Ideen.
Bitte um Hilfe und schon einmal vielen Dank.
Gruß
ChakkaCor