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

Kollisionsprüfung

Kollisionsprüfung
10.02.2020 16:27:13
Ben
Hallo zusammen,
ich möchte zwei Datumsangaben auf ein Kollision mit einander vergleichen. Dabei soll bei eintreffen der folgenden drei Fälle ein MsgBox ausgegeben werden und die Zelle eingefärbt werden. Die zu vergleichenden Datensätze i und n sind mit folgenden Variablen bestimmt ( der Einfachheit halber zähle ich mit i und n später durch):
Ai = Einsatz i Anfangsdatum
Ei = Einsatz i Enddatum
An = Einsatz n Anfangsdatum
En = Einsatz n Enddatum
1. Fall: n kollidiert mit i von vorne: An 2. Fall: n liegt innerhalb von i : Ai 3. Fall: n kollidiert mit i von hinten: Ai

For i = 3 To lastE
For n = 4 To lastE
Ai = .Cells(i, 8).Value
Ei = .Cells(i, 9).Value
An = .Cells(n, 8).Value
En = .Cells(n, 9).Value
If .Cells(i, 3).Value = .Cells(n, 3).Value Then
'1. fall
If An  .Cells(n, 2).Value  _
Then
MsgBox "Einsatz " & .Cells(i, 2).Value & " kollidiert mit Einsatz "
.Cells(i, 2).Interior.ColorIndex = 46
.Cells(n, 2).Interior.ColorIndex = 46
GoTo sprung
End If
'2. fall
If Ai  .Cells(n, 2). _
Value Then
MsgBox "Einsatz " & .Cells(i, 2).Value & " kollidiert mit Einsatz "
.Cells(i, 2).Interior.ColorIndex = 46
.Cells(n, 2).Interior.ColorIndex = 46
GoTo sprung
End If
'3. fall
If Ai  .Cells(n, 2).Value  _
Then
MsgBox "Einsatz " & .Cells(i, 2).Value & " kollidiert mit Einsatz "
.Cells(i, 2).Interior.ColorIndex = 46
.Cells(n, 2).Interior.ColorIndex = 46
GoTo sprung
End If
End If
sprung:  n = n + 1
Next n
Next i

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kollisionsprüfung
11.02.2020 00:03:54
onur
Und wo ist nun das Problem ?
AW: Kollisionsprüfung
11.02.2020 08:14:25
Ben
Hallo Onur,
das Problem ist, dass der Sprung nicht an der richtigen Stelle sitzt. Ich möchte eigentlich für jedes n mit jedem anderen Einsatz i vergleichen. N und i durchlaufen also die gleichen Datensätze, um alle mit einander zu vergleichen. Wenn keiner der drei genannten Fälle eintritt, soll nur zum nächsten n gegangen werden, bzw. wenn das letzte n erreicht ist, zum nächsten i gegangen werden.
Könnte mir jemand dabei helfen?
AW: Kollisionsprüfung
11.02.2020 09:36:37
peterk
Hallo
Alles mit Allem vergleichen

For i = 3 to (lastE-1)
For n = (i+1) to lastE
Deine Sprünge kannst Du entfernen. Des Weiteren:

Ai 
funktioniert nicht

Ai

Anzeige
AW: Kollisionsprüfung
11.02.2020 11:26:46
onur
Und was ist mit:
4. Fall: i liegt innerhalb von n ?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige