Ah ja das habe ich im Beispiel ganz vergessen die Eintragungen sind nur in der Spalte EPV und per Bedingte Formatierung werden dann die Farben in der Spalte EPV erstellt. Die Farben in den Spalten ELUSA und ELSA generieren sich aus eingaben auf einem anderen Tabellenblatt welche per SVERWEIS abgefragt werden.
Sub FarbeZaehlen() Dim lngZeile As Long Dim intSpalte As Integer Dim lngFarbWe As Long For lngZeile = 2 To 28 lngFarbWe = 0 For intSpalte = 5 To 7 lngFarbWe = lngFarbWe + Cells(lngZeile, intSpalte).DisplayFormat.Interior.Color Next intSpalte If lngFarbWe = 15888822 Then Cells(lngZeile, 8).Interior.Color = 5296274 Else Cells(lngZeile, 8).Interior.Color = 255 Next lngZeile End Sub
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
in meinem Beispiel ist ein Makro drin, kann man sich da ansehen. Fur den Code des Kollegen ein neues Modul anlegen. Das geht über Taste Alt+F11 um den Vba Editor zu öffnen. Einfacher ist es mit dem Makro Recorder ein Makro aufzeichnen, dann legt Excel selbst ein neues Modul an.
Auf Makro Aufzeichnen drücken, in eine Zelle einen Wert eingeben, "Aufzeichnung beenden" drücken. Im Makro Dialog erscheint Makro1, und man kann auf "Bearbeiten" klicken. Dann öffnet Excel den Vba Editor direkt im Modul1. Makro1 einfach löschen und den Code des Kollegen hineinkopieren.
Im Tabellernblatt einen normalen CommandButton einfügen (kein ActiveX Steuerelement!!) mit der rechten Maustaste dem Button das Makro zuweisen, Fertig!
aus deiner Frage schließe ich, dass du mit VBA nicht so bewandert bist. Habe das noch mal etwas geändert:
Code:
Private Sub Worksheet_Activate() Dim lngZeile As Long Dim intSpalte As Integer Dim lngFarbWe As Long For lngZeile = 2 To 28 lngFarbWe = 0 For intSpalte = 5 To 7 lngFarbWe = lngFarbWe + Cells(lngZeile, intSpalte).DisplayFormat.Interior.Color Next intSpalte If lngFarbWe = 15888822 Then Cells(lngZeile, 8).Interior.Color = 5296274 Else Cells(lngZeile, 8).Interior.Color = 255 Next lngZeile End Sub
Du klickst mit der rechten Maustaste auf den Tabellenblattreiter, in dem sich deine Liste befindet. Es öffnet sich ein Kontextmenü, dort wählst du Code anzeigen. Es öffnet sich das Modul vom Tabellenblatt. Dort fügst du das zuvor kopierte Makro ein. Es wird dann jedes Mal ausgeführt, wenn das Tabellenblatt geöffnet wird. Wie ich hoffe, hilft dir das weiter.
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden