Anzeige
Archiv - Navigation
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Farbfelder zählen lassen - aber wie ???

Farbfelder zählen lassen - aber wie ?
03.01.2007 09:19:54
Midgaardslang
Hallo,
habe folgendes Problem:
Ich erarbeite gerade eine umfangreiche Zeiterfassungskarte für die Lohnabrechnung 2007 - soweit bin ich fertig, nur habe ich ein Problem, das ich nicht lösen kann - zumindest nicht zufriedenstellend.
Zur kurzen Erklärung:
Für verschiedene Tage ( normal, krank, Urlaub, etc ) habe ich verschiedene Farbcodes in einer angefügten Legende angelegt, nun möchte ich jedoch, das Excel mir am Ende der Tabelle die "Farben ausliest".
Also wenn 3 Felder gelb markiert sind, soll er mir in einem Feld auf dem gleichen Tabellenblatt anzeigen "3", oder 12 rote, dann eben "12", usw. Ich kann mir nur vorstellen, das man dies mit einem VBA-Script hinbekommt, da mir jede Idee fehlt, dies auf "normalen Wege" zu machen.
Ich habe ungefähr 6 verschiedene Farben, nach denen sortiert werden muss :-).
Über eine Hilfe oder einen Ansatz wäre ich sehr dankbar, da ich mir seit Tagen die Zähne daran ausbeisse und nicht weiterkomme, alles andere stellt kein Problem dar.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbfelder zählen lassen - aber wie ?
03.01.2007 09:31:27
Bertram
Hallo,
mal als Ansatz:

Sub FarbenZählen()
Dim zelle As Range
Dim intGelb As Integer
Dim intRot As Integer
Dim intGrün As Integer
intRot = 0
intGelb = 0
intGrün = 0
For Each zelle In Range("S:S").Cells 'Bereiche musst du noch anpassen
If zelle.Interior.ColorIndex = "6" Then intGelb = intGelb + 1
If zelle.Interior.ColorIndex = "3" Then intRot = intRot + 1
If zelle.Interior.ColorIndex = "4" Then intGrün = intGrün + 1
Next zelle
Range("R1").Value = intGrün & " grün"
Range("R2").Value = intGelb & " gelb"
Range("R3").Value = intRot & " rot"
End Sub

Das funktioniert aber nur, wenn die Farbe nicht durch bedingte Formatierung erstellt wird. Statt der Ifs kannst du auch
Select Case zelle.Interior.Colorindex
Case Is = 6
intGelb = intGelb + 1
Case Is = 3
intRot = intRot + 1
usw.
End Select
verwenden.
Gruß
Bertram
Anzeige
AW: Farbfelder zählen lassen - aber wie ?
03.01.2007 11:15:06
Midgaardslang
Danke Danke Danke.
Funktioniert nach Anpassung genau wie ich es mir gewünscht habe.
Da sieht man mal wie weit man kommt, wenn man mal einen intelligenten Menschen trifft :-).
Auf die IntegerFunktion wäre ich die nächsten 2 Wochen nicht gekommen, warum kompliziert, wenn das einfache so nahe liegt?
Nochmals Danke
Danke für die Blumen:-) oT
03.01.2007 11:25:31
Bertram
Eine hab ich dann doch noch....
07.01.2007 14:52:51
Midgaardslang
Hallo,
wüßte jemand, wie ich im VBA auch noch den oben genannten Sachverhalt in Wochentage zerlgen kann? Leider habe ich hier nur eine Formel auf Grundelage von Wenn,Dann,Sonst etc im Kopf, die ich aber im VBA so nicht benutzen kann.
Im Grunde benötige ich eine Abgrenzung in Mo-Do und Fr, und das er mir die Farbfelder, was dank Bertrams Ansatz wunderbar funktionierte, nach verschiedenen Wochentagen zählt und mir dann die Anzahl der Wochentage in zwei Zellen mit Mo-Do und Fr zählt. R10:R13 in die eine, R14 in die andere, als grobes beispiel.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige