Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
484to488
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
484to488
484to488
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

farbsumme und bedingte formatierung?

farbsumme und bedingte formatierung?
15.09.2004 08:58:56
grossermanitu
habe einen urlaubsplaner in excel erstellt.
hintergrundfarbe blau gibt in einzelnen zellen den urlaub an.
durch bedingte formatierung wird der urlaub rot in einzelnen zellen angezeigt.
durch die selbstgeschriebene funktion "farbsumme" werden alle farbigen zellen gezählt.
Option Explicit

Sub Löschen()
Application.ScreenUpdating = False
Range("B10:BB69").Interior.ColorIndex = xlNone
Application.Goto Reference:=Range("B10"), Scroll:=True
Application.ScreenUpdating = True
Calculate
End Sub

' Anzahl der Zellen mit einer Farbe
' In Zelle=Farbsumme(A1:A10;3)

Function FarbsummeHA(Bereich As Range, Farbe As Integer)
'   Hintergrund
Dim Zelle
Application.Volatile
For Each Zelle In Bereich
If Zelle.Interior.ColorIndex = Farbe Then
FarbsummeHA = FarbsummeHA + 1
End If
Next
End Function


Sub Zählen()
Calculate
End Sub

wenn man jetzt ausversehen seinen urlaub über einen feiertag(mit bedingter formatierung hinterlegt) zieht bleibt dieser tag zwar rot.
wird aber als urlaubstag gezählt, da er blau hinterlegt ist.
wie muss die selbstgeschrieben funktion aussehen dass die bedingte formatierung mitberücksichtigt wird und nur die farbe gezählt wird die man auch wirklich in der zelle sieht?
habe schon in mehreren foren die frage gestellt. bis jetzt konnte mir aber noch keiner weiterhelfen.
schonmal im voraus danke für eure mühe

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: farbsumme und bedingte formatierung?
15.09.2004 09:24:57
Holger
Hallo Manitu,
das ist eine komplizierte Sache. Mit untenstehender Funlktion ermittels Du die Farbzahl der betreffenden Zelle, die durch bedingte Formatierung(!) entsteht. Die sollte Dir dann weiterhelfen.
mfg Holger

Function GetCellColor(cell As Range) As Integer
' Von Bernd bstrohhaecker@gmx.de
Dim i
Dim myVal
Dim myColor As Integer
Dim done As Boolean
On Error Resume Next
Names("testname").Delete
On Error GoTo 0
Application.ReferenceStyle = xlR1C1
myVal = cell.Value
myColor = cell.Interior.ColorIndex
done = False
For i = 1 To cell.FormatConditions.Count
With cell.FormatConditions.Item(i)
If .Type = 1 Then
Select Case .Operator
Case xlBetween
If myVal >= Evaluate(.Formula1) And myVal <= Evaluate(.Formula2) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlEqual
If myVal = Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlGreater
If myVal > Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlGreaterEqual
If myVal >= Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlLess
If myVal < Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlLessEqual
If myVal <= Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlNotBetween
If myVal < Evaluate(.Formula1) Or myVal > Evaluate(.Formula2) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlNotEqual
If myVal <> Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
End Select
ElseIf .Type = 2 Then
Names.Add Name:="testname", RefersToR1C1Local:=.Formula1
If Evaluate("testname") Then
myColor = .Interior.ColorIndex
done = True
End If
Names("testname").Delete
Else
MsgBox "Unbekannter Typ: " & .Type, , "PANIC: In 

Function GetCellColor"
Exit Function
End If
End With
If done Then Exit For
Next
Application.ReferenceStyle = xlA1
GetCellColor = myColor
End Function

Anzeige
AW: farbsumme und bedingte formatierung?
15.09.2004 10:40:36
grossermanitu
danke erstmal für die schnelle aw. ich weiß bloß nicht inwieweit mir die farbzahl weiterhelfen soll.
habe die fkt. eben ausprobiert und funz bei mir nicht bed. formatierung, nur mit bei normaler formatierung
AW: farbsumme und bedingte formatierung?
15.09.2004 11:52:32
Holger
Hallo Manitu,
mit der Funktion ermittelst Du die Farbe einer Zelledie durch bedingte Formatierung erstellt wurde (z.B.5 für blau). Nun kannst du doch die manuelle Farbe und diese obige auswerten und dann gezielt z.B. 1 addieren.
Fkt-aufruf in VBA: f=getcellcolor(range("A1"))
Holger
AW: farbsumme und bedingte formatierung?
Beate
Hallo Grossermanitu,
du willst also bedingte Formatierung mit der zusätzlichen Besonderheit, dass je nach Zelle die Farben (trotz gleicher Farbe) verschiedene Bedeutung haben.
In der Tat etwas aufwändiger.
Ich sah zuletzt einen entsprechenden Thread, der dir da weiterhelfen könnte:
http://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx?&lang=de&cr=DE&guid=&sloc=en-us&dg=microsoft.public.de.excel&p=1&tid=7de0350b-7fd2-419a-83ac-e50aebe53d9d
Gruß,
Beate
Anzeige
AW: farbsumme und bedingte formatierung?
Beate
Im Nachgang zu meinem Beitrag von eben, wäre es aber viel sinnvoller, das ursprüngliche Fehlverhalten auszuschließen. Dann wäre dein Folgeproblem doch weg. Jedenfalls ist es immer besser die Ursachen auszumerzen. Dieses zu weite Ziehen über Wochenenden/Feiertage hinweg muss unterbunden werden. Aber das ist grundsätzlich ein anderes Thema. Vielleicht ein neuer Thread? Und Beispieldatei wäre nicht schlecht.
Gruß,
Beate
AW: farbsumme und bedingte formatierung?
grossermanitu
@beate
du hast natürlich recht das es viel einfacher ist, erst gar nicht über die feiertage "drüber zu formatieren" bloß es passiert schon öfters mal unabsichtlich und dann weiß man nicht an welcher stelle man den feiertag überschreiben hat. und die ganze rechng stimmt nicht.
zu dem threat vorher. der war schon sehr aufschlußreich. hat mich aber leider auch nicht weitergebracht.
habe die datei mal als zip hochgeladen:
https://www.herber.de/bbs/user/10896.zip
Anzeige
Idee gefunden - Makro gesucht!
Beate
Hallo GrosserManitu,
dein Problem ist ja, dass an Feiertagen die unsichtbare Hintergrundfarbe blau dann gezählt wird, obwohl sichtbar die bedingte Formatierung rot ist. Meine Idee ist:
Der Urlaub wird ja in Spalte BD berechnet, abhängig von der Hintergrundfarbe blau. Wenn du nun ein Worksheet_Calculate Makro in die Tabelle einbauen würdest, dass spränge dann ja bei Neuberechnung an. Und dieses Makro soll folgendes tun: In Zellen, die aufgrund ihrer bedingten Formatierung eine Farbe anzeigen, (weil diese Bedingung erfüllt ist), soll die unsichtbare blaube Hintergrundfarbe gelöscht werden, so dass die Hintergrundfarbe auf automatisch steht. Und dann würden diese Zellen ja nicht mehr mitgezählt.
So ein Makro geht ganz bestimmt. Ich kann es dir nur nicht schreiben. Wenn hier keiner mehr reagiert würde ich einen neuen Thread eröffnen wieder mit Beispieldatei, Problembeschreibung und vielleicht meinem Vorschlag, wenn er dir zusagt.
Gruß,
Beate
Anzeige
es geht viel einfacher, ist aber nicht so schön
grossermanitu
von der seite her habe ich es noch nicht gesehen. aber ich glaube
ohne lang herum zumachen, ist die einfachste lösung einfach den zellenschutz für die feiertage zu aktivieren. ist zwar ziemlich mühsam bei allen feiertagen dies zu machen und man kann seinen urlaub nicht über mehrere wochen auf einmalziehen.
hatte gedacht irgendwo dadraußen geb es eine "wunderformel" die mir nur die farbigen zellen zählt die mir auch wirklich angezeigt werden.
danke nochmal an alle die sich über mein problem den kopf zerbrochen haben.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige