Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Überlappende Zeiträume über mehrere Tabellen mit leeren Zell

Forumthread: Überlappende Zeiträume über mehrere Tabellen mit leeren Zell

Überlappende Zeiträume über mehrere Tabellen mit leeren Zell
13.10.2025 17:10:17
Tom123454
Liebe Community,
für die Mitarbeiter meines Unternehmens brauche ich Zeitnachweise für jeden Klienten. Ein Mitarbeiter hat beispielsweise 10 Klienten, die er betreut, und muss für jeden angeben, wann er diesen betreut hat. Dabei dürfen sich die Zeiträume nicht überlappen. Direkt angrenzen (zum Beispiel 13 Uhr Ende und dann 13 Start beim Nächsten) ist ok.

Mit der Summenprodukt Lösung konnte ich per se arbeiten, aber ich schaffe es einfach nicht, dass möglicherweise leere Zellen ignoriert und alle Blätter berücksichtigt werden.

Für eine Lösung wäre ich unendlich dankbar.

Viele Grüße Tom


Die Beispieldatei hat nur 4 Klienten, wegen der Größenbegrenzung.
https://www.herber.de/bbs/user/179158.xlsx
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Überlappende Zeiträume über mehrere Tabellen mit leeren Zell
13.10.2025 18:17:38
daniel
Hi
und was genau wäre jetzt dein Wunsch, was soll das Ergebnis für die gezeigte Datei sein?
einfach nur der Hinweis, dass es überlappende Zeiträume gibt? Welche Detailangaben sind gewünscht?
Wie soll das Ergebnis ausgegeben werden?

https://www.herber.de/bbs/user/179159.xlsx

Hier mal als Zwischenschritt ein Weg, wie du dir eine Übersicht der Zeiten auf einem Blatt zusammensuchen kannst.
dabei ist darauf zu achten, dass in der Übersicht (Check) jedes Datum in der selben Zeile steht wie in den Erfassungsblättern, da einfach über die Zeilenposition addiert wird.
du hast pro Tag 2 Zeilen (Einzeln, Gruppe), in der Übersicht werden diese zusammengefasst und die zwei Zeilen als Anfang und Ende genutzt, so dass du für jeden Klienten nur eine Zeile hast.
der Blattname jedes Klienten musst du dann in die Zeile 7 eintragen.

so hast du erst mal eine Übersicht auf einem Blatt.
Eine Formel, wie man das dann auf Überlappung prüft, fällt mir jetzt auf die schnelle nicht nicht ein, sollte hier aber einfacher sein, als wenn die Auswertung über mehrere Blätter geht.

vielleicht hat ein anderer hierfür ja eine Idee.
Gruß Daniel
Anzeige
AW: Überlappende Zeiträume über mehrere Tabellen mit leeren Zell
13.10.2025 23:18:43
xlKing
Hi Tom,

die Arbeitsmappen in den anderen Lösungsvorschlägen hab ich mir jetzt nicht angesehen. Vielleicht ist meine Idee ja schon dabei?
Öffne den VBA-Editor (Alt + F11), doppelklicke auf das Modul "Diese Arbeitsmappe" und gib dort diesen Code ein:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Not Intersect(Target.Cells(1), Sh.Range("E:F")) Is Nothing Then
For s = 1 To Sheets.Count
If Target.Cells(1).Value >= Sheets(s).Range("E:E").Cells(Target.Row) _
And Target.Cells(1).Value Sheets(s).Range("F:F").Cells(Target.Row) And Target.Cells(1).Value > "" Then
MsgBox "Es gibt eine Überlappung zwischen " & Sh.Name & " und " & Sheets(s).Name & ". Der eingetragene Wert wird gelöscht."
Target.Cells(1).ClearContents
End If
Next s
End If
End Sub


Speicher dann die Datei als xlsm damit das Makro nicht verloren geht.

Wenn du nun eine Eingabe machst, die sich mit einem Zeitraum in dieser Zeile auf einem anderen Sheet überlappt, erhältst du eine Meldung und der Eintrag wird zurückgenommen. Voraussetzung ist natürlich, dass alle Klienten mit dem gleichen Tag beginnen, so wie in deiner Beispielmappe.

Gruß Mr. K.

Anzeige
AW: Überlappende Zeiträume über mehrere Tabellen mit leeren Zell
14.10.2025 14:40:45
daniel
Hallo
so, jetzt mit Prüfung auf Zeitüberlappungen.
die Idee ist, dass wenn man die Zeiten eines Tages sortiert, sich immer eine Beginn- und eine Endzeit abwechseln müssen.
dh, wenn man alle Beginnzeiten mit "b" kennzeichnet und alle Endzeiten mit "e", daraus eine gemeinsame Liste macht und diese nach der Zeit sortiert, müssen sich "b" und "e" immer abwechseln und es darf nie ein "bb" oder "ee" vorkommen.
obs alle Fehler findet, weiß ich nicht, ist aber zumindest mal ein Ansatz für dich.
https://www.herber.de/bbs/user/179161.xlsx
Gruß Daniel
Anzeige
Kleine Korrektur am Code
14.10.2025 00:25:26
xlKing
Hab noch eine kleine Korrektur vorgenommen, damit es nicht zu Überschneidungen mit sich selbst kommt.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Not Intersect(Target.Cells(1), Sh.Range("E:F")) Is Nothing Then
For s = 1 To Sheets.Count
If Not Sheets(s) Is Sh And Target.Cells(1).Value >= Sheets(s).Range("E:E").Cells(Target.Row) _
And Target.Cells(1).Value Sheets(s).Range("F:F").Cells(Target.Row) And Target.Cells(1).Value > "" Then
MsgBox "Es gibt eine Überlappung zwischen " & Sh.Name & " und " & Sheets(s).Name & ". Der eingetragene Wert wird gelöscht."
Target.Cells(1).ClearContents
Exit For
End If
Next s
End If
End Sub

Mr. K.
Anzeige
AW: Kleine Korrektur am Code
15.10.2025 11:20:23
Tom123454
Guten Morgen Mr.K,
das klappt perfekt, vielen Dank!
AW: Kleine Korrektur am Code
15.10.2025 12:56:57
Tom123454
Hallo Mr.K.,
könntest du den Code vielleicht noch so anpassen, dass bei Gruppenaktivitäten Überlappungen zugelassen werden?
Vielen Dank nochmal und viele Grüße
AW: Kleine Korrektur am Code
16.10.2025 22:51:16
xlKing
Hi Tom,

Probiers mal mit diesem Code. Der macht die Prüfung jetzt nur noch bei den "Einzeln"-Zeilen.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Not Intersect(Target.Cells(1), Sh.Range("E:F")) Is Nothing Then
For s = 1 To Sheets.Count
With Target.Cells(1)
If Not Sheets(s) Is Sh And Trim(Sh.Range("B:B").Cells(Target.Row)) = "Einzeln" And .Value > "" And _
((.Column = 5 And .Value = Sheets(s).Range("E:E").Cells(Target.Row) And .Offset(0, 1).Value > Sheets(s).Range("E:E").Cells(Target.Row)) Or _
(.Column = 5 And .Value Sheets(s).Range("F:F").Cells(Target.Row) And .Offset(0, 1).Value > Sheets(s).Range("F:F").Cells(Target.Row)) Or _
(.Column = 5 And .Value >= Sheets(s).Range("E:E").Cells(Target.Row) And .Value Sheets(s).Range("F:F").Cells(Target.Row)) Or _
(.Column = 6 And .Offset(0, -1).Value Sheets(s).Range("E:E").Cells(Target.Row) And .Value > Sheets(s).Range("E:E").Cells(Target.Row)) Or _
(.Column = 6 And .Offset(0, -1).Value Sheets(s).Range("F:F").Cells(Target.Row) And .Value > Sheets(s).Range("F:F").Cells(Target.Row))) Then
MsgBox "Es gibt eine Überlappung zwischen " & Sh.Name & " und " & Sheets(s).Name & ". Der eingetragene Wert wird gelöscht."
Target.Cells(1).ClearContents
Exit For
End If
End With
Next s
End If
End Sub


Damit habe ich nebenbei gleich noch Kleinigkeiten geändert. Jetzt werden auch Überlappungen ausgeschlossen, wo Start vor und Ende nach einem bestehenden Termin sind. Außerdem sind jetzt auch direkt angrenzende Termine möglich. Probiere es aus.

Gruß Mr. K.

Anzeige
AW: Überlappende Zeiträume über mehrere Tabellen mit leeren Zell
13.10.2025 18:42:18
BoskoBiati
Hi,

ich finde, der Ansatz ist schon falsch. Für meine Begriffe sollte die Zeiterfassung in einer Tabelle erfolgen und die Aufteilung auf die einzelnen Abrechnungsformulare aus dieser Tabelle heraus. Die vorliegenden Tabellen sind der grausame Versuch, Papier durch Excel zu ersetzen, aber es muß aussehen wie Papier! Außerdem ist die Suche nach Überschneidungen in meinen Augen, der Versuch schlampige Zeiterfassung oder bewußt falsche Zeitangaben auszubügeln.


https://www.herber.de/bbs/user/179160.xlsx

Gruß

Edgar
Anzeige
AW: Überlappende Zeiträume über mehrere Tabellen mit leeren Zell
13.10.2025 21:05:02
Tom123454
Hallo Daniel,
ja, ich bräuchte eine einfach Möglichkeiten Überlappungen in den Zeitfenstern anzeigen zu lassen. Deine Idee eine eingehende Zusammenfassung zu erstellen finde ich phantastisch! Man bekommt sofort einen viel besseren Überblick.
Um Überlappungen schnell zu finden wäre es schön, wenn diese farblich hinterlegt würden. Ginge das zum Beispiel in der Übersichtsseite?

Ist es für mich möglich die Datei um weitere Seiten zu erweitern? Die meisten Mitarbeiter betreuen nämlich 10 oder mehr Klienten?

Viele Grüße


Tom
Anzeige
AW: Überlappende Zeiträume über mehrere Tabellen mit leeren Zell
13.10.2025 23:40:40
daniel
Wie gesagt, für die Auswerteformel hab ich grad keine Idee.

Für Weitere Klienten einfach die Formel in weitere Spalten kopieren und in Zeile 7 den Tabellenblattnamen eintragen.
AW: Überlappende Zeiträume über mehrere Tabellen mit leeren Zell
14.10.2025 12:24:31
Sigi.21
Hallo Tom,

wenn du die Daten für jeden Wo-Tag untereinander für Klient 1 bis n anordnen kannst, dann lässt sich das mit Makro auswerten.
Es müssen je WoTag alle Termine mit jedem anderen Termin des selben Wo-Tages verglichen werden. Das lässt sich kaum machen, wenn die Daten wie Kraut und Rüben verstreut sind.
Auch sind verbundene Zellen für das Auswerten total kontraproduktiv. Lass sie weg. Wenn es nur um das Aussehen geht, stören sie nicht.

Gruß Sigi
Anzeige
AW: Überlappende Zeiträume über mehrere Tabellen mit leeren Zell
13.10.2025 20:59:57
Tom123454
Hallo Edgar,
ich gebe dir recht! Die Formulare sind aber leider genau so vom Amt gefordert und danach muss ich mich richten.
Auch mit der Zeiterfassung liegst du goldrichtig, aber leider kommt es monatlich vor, dass den Mitarbeitern (wenn auch nur im Minutenbereich) Überlappungen passieren.

Ich danke dir vielmals für deinen Vorschlag, aber deine Programmierung ist für meine laienhaften Kenntnisse zu kompliziert.
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18