Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Zelle Färben wenn Bestimmtes Ereignis eintritt
#1
Liebe VBAler,

ich komm einfach nicht weiter und benötige eure Hilfe. Anbei im Anhang findet Ihr meine Datei.

Mein Problem ist folgendes:

Ich möchte gerne in einer Spalte den aktuellen Status eines Ziels in einer Spalte komprimieren. Hierbei wird die Zielerreichung zuerst für das einzelne Land dargestellt und dann komprimiert auf die Region Europa.
Es gibt hierfür drei verschiedene Statusmöglichkeiten: Grün (erreicht) gelb (in der Schwebe) und rot (nicht erreicht).

Bedingung für die Befüllung des Gesamtstatus:

1. Sind alle Felder der einzelnen Länder Grün, so ist auch der Gesamtstatus grün, da alle Ziele erreicht wurden.
2. Ist eine Zelle oder mehrere gelb eines Ziels, so ist der Gesamtstatus gelb.
3. Ist ein rotes Feld dabei, so ist der Gesamtstatus rot. der Gesamtstatus wird auch rot, wenn ein gelbes dabei ist.

Ein kurzer Blick in die Datei erleichtert das Verständnis.

Vielen vielen Dank für die Hilfe :)


Angehängte Dateien
.xlsx   Statusupdate.xlsx (Größe: 55,17 KB / Downloads: 2)
Antworten Top
#2
Hallo,

schau mal, ob du mit diesem Ansatz weiter kommst.


Code:
sub Farben()
dim Flag(1) as integer
for i = 4 to 20
    for each c in range(cells(i,"D"),cells(i,"M"))
        select case c.interior.color         
            case = 49407
                Flag(0) = 1
            case = 255
                Flag(1) = 2
        end select
    next c
    cells(i,"O") = worksheetfunction.max(Flag)
    Flag(0) = 0
    Flag(1) = 0
next
end sub


Grüße

(etwas Eigenleistung ist noch nötig)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste