ich will in einer Excel Tabelle den Status eines Projektes überwachen. In den Zellen D6 bis D9 wird die Hintergrundfarbe je nach Status formatiert (rot, gelb, grün). Jetzt will ich ein Makro erstellen, welches die Hintergrundfarben erfasst und je nach Fall ein Ausgabefeld mit einer bestimmten Hintergrundfarbe formatiert.
Falls Rot vorkommt soll das Feld rot werden, falls gelb und kein rot vorkommt soll es gelb werden und falls weder rot noch gelb vorkommt und alle Felder grün sind soll es grün werden.
Da ich mich mit VBA nicht auskenne, habe ich versucht es mit vorhandenen Makros und Beispielen sowie bescheidener C++ Kenntnisse hinzubekommen. Klappt aber nicht... Kann mir jemand sagen wieso nicht?
Sub farben()
Dim s As Integer 'Zeile
Dim sp As Integer 'Spalte
Dim farb(3) As Integer 'Anzahl der Farben
For s = 6 To 9
For sp = 4 To 4
Select Case Cells(s, sp).Interior.ColorIndex
Case 3 'Rot
farb(1) = farb(1) + 1
Case 6 'Gelb
farb(2) = farb(2) + 1
Case 4 'Grün
farb(3) = farb(3) + 1
End Select
Next sp
Next s
If farb(1) > 0 Then 'Wenn Rot da ist, dann rot
Cells(5, 4).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
ElseIf farb(2) > 0 Then 'Wenn kein rot aber gelb da ist, dann gelb
Cells(5, 4).Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
ElseIf farb(3) = 4 Then 'Wenn weder rot noch gelb da ist und 4 Mal grün, dann grün
Cells(5, 4).Select
With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
End If
End Sub