Liebe Leute
Ich bin neu im Forum.
Ich arbeite an einer Tabelle über Teamverfügbarkeit in einem Theater, in der über viele, viele bedingte Formatierungen Farbfelder erzeugt werden.
Jede Spalte ist ein Mitarbeiter.
Die Zeiklen sind die Tage.
In Zeile AZ werden die Inszenierungen eingetragen, die dann die entsprechenden Mitarbeiter in einer speziellen Farbe einfärben, wenn diese verfügbar sind.
Alles was grün ist (RGB 0,255,0) sind die freien Tage.
Ich verschiebe die Inszenierungen ständig herum um das Optimum zu finden.
Ich möchte nun auf einen Blick sehen, ob es bei der jeweiligen Variante mindestens 14 ZUSAMMEWNHÄNGENDE grüne Felder pro Spalte gibt und habe dazu diesen VBA Code geschrieben:
Function Urlaubstage(x)
'x ist die Spalte
Dim i As Integer
Dim c As Range
Dim imax As Integer
Const Grundfarbe = 4
x = 5
i = 0
imax = 0
For Each c In Range(Cells(x, 10), Cells(x, 120))
If c.Interior.ColorIndex = Grundfarbe Then
i = i + 1
Else: i = 0
End If
If i > imax Then
imax = i
End If
Next c
Debug.Print imax
End Function
Merkwürdigerweise gibt aber die Funktion c.Interior.ColorIndex bei Weiß den Wert -4142 aus
Bei Grün UND Blau UND Geld dagegn 4,
was läuft da falsch?
Hat jemand eine bessere Idee?
Grüsse SuPerp
|