Microsoft Excel

Herbers Excel/VBA-Archiv

Farbzellen zählen

Betrifft: Farbzellen zählen von: Sven Erdtmann
Geschrieben am: 09.09.2004 21:46:50

Guten Tag!

Ich habe eine Frage an die Profis. Ich möchte einen "Urlaubsplaner" für mich und meine Kollegen machen und würde dies gerne elegant lösen. Bei uns wird ein Urlaub eingereicht und dann genehmigt. Da eine Genehmigung immer etwas dauert (bis zu 4 Wochen), würde ich gerne mit zwei Farben arbeiten, welche zum einen für "beantragt" und zum anderen als "genehmigt" steht. Hierdurch kann jeder sehen, wer wann in den Urlaub möchte oder geht. Es direkt einfarbig darzustellen würde wohl eher ein durcheinander geben, wenn es vielleicht doch nicht genehmigt wird. Soweit geht ja auch alles, aber es wäre schön, wenn jeder Benutzer auch direkt sieht, wieviel Urlaub er noch hat bzw. er schon genommen hat. Wäre über einen Tip wie ich das bewerkstellige dankbar.

Schöne Grüße

Sven

  


Betrifft: AW: Farbzellen zählen von: Franc
Geschrieben am: 09.09.2004 22:47:37

Mein TL auf Arbeit macht das ebenfalls mit Farben.
Er hat dies ganz einfach gelöst.

Nehmen wir an, grün ist genehmigt und rot ist in Planung.

Bei einem "grünen" Feld schreibst du in grüner Schrift zum Beispiel gen und bei rot bea.

Jetzt in einem Feld für den genehmigten Urlaub folgende Formel ein.
=ZÄHLENWENN(Zellbereich;"gen")

Und für den geplanten Urlaub
=ZÄHLENWENN(Zellbereich;"bea")

Das die einfachste Methode.
Die roten und grünen Kästchen brauchst nur einmal "anzulegen" und dann nur einmal zu kopieren und in die entsprechenden Zellen einzufügen.

https://www.herber.de/bbs/user/10736.xls


  


Betrifft: AW: Farbzellen zählen von: Sven Erdtmann
Geschrieben am: 10.09.2004 18:24:50

Also ich habe ein Skript gefunden, welche wunderbar funktioniert:

Option Explicit

Function FARBEZÄHLEN(Bereich As Range, Farbe As Byte) As Long
Dim c As Range
For Each c In Bereich
If c.Interior.ColorIndex = Farbe Then
FARBEZÄHLEN = FARBEZÄHLEN + 1
End If
Application.Volatile (True)
Next c
End Function


Das Feld beinhaltet zum Beispiel folgendes:

=FARBEZÄHLEN(B11:D35;3)

Nun ist es so, dass es nicht automatisch aktualisiert wird. Wäre dies noch irgendwie einfach machbar?

Grüße

Sven


  


Betrifft: AW: Farbzellen zählen von: Sigi
Geschrieben am: 10.09.2004 22:06:44

Hallo Sven,

mit dieser Funktion wird eine bestimmte Farbe gezählt. Etwas abgeändert wird jede farbige
Zelle gezählt:
Function AnzahlFarbigeZellen(Bereich As Range) As Long
Dim Zelle As Range
Dim Anzahl As Long
    Application.Volatile
    For Each Zelle In Bereich
        If Zelle.Interior.ColorIndex <> xlNone Then
            Anzahl = Anzahl + 1
        End If
    Next Zelle
AnzahlFarbigeZellen = Anzahl
End Function

Hinsichtlich der Neuberechung musst du F9 (neu berechnen) drücken, da eine Funktion nur
dann neu berechnet wird, wenn sich ein Parameter ändert.
Gruß
Sigi