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

Berechnung aufgrund Zellenfarbe einer anderen Zell

Berechnung aufgrund Zellenfarbe einer anderen Zell
12.06.2006 06:08:08
Uwe
Hallo,
ich habe ein Sheet zur Berechnung meines Gehaltes entworfen.
In der Spalte A sind die Tage 1 - 31 eingetragen und die Wochenenden habe ich manuell rot eingefärbt.
Nun soll sie Spalte K mit einer Formel hinterlegt werden:
Wenn A2 = rot, dann 0, sonst 7
Für eine Lösung hier wäre ich dankbar, da ich mit bedingter Formatierung scheinbar nicht weiterkomme.

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

Betreff
Datum
Anwender
Anzeige
AW: Berechnung aufgrund Zellenfarbe einer anderen
12.06.2006 07:43:05
fcs
Hallo Uwe,
am einfachsten wäre es, wenn du in Spalte A das Datum einträgst und das Format der Zellen auf T setzt. Dann könnte man sowohl die Wochenenden per bedingter Formatierung markieren.
Formel: =wenn(oder(Wochentag($A2;2)=6;Wochentag($A2;2)=7);Wahr;Falsch)
und in gleicher Weise die Formel in Spalte K aufbauen:
=wenn(oder(Wochentag($A2;2)=6;Wochentag($A2;2)=7);0;7)
Falls du irgendwo auf dem Blatt noch Zellen mit Monat (als Zahl!) und Jahr hast, dann ginge auch
=WENN(ODER(WOCHENTAG(DATUM($E$1;$C$1;$A2);2)=6;WOCHENTAG(DATUM($E$1;$C$1;$A2);2)=7);0;7)
wobei das Jahr in E1 und der Monat in C1 steht.
Auch die obige bedingte Formatierung könnte man so aufbauen.
Gruß
Franz
Anzeige
AW: Berechnung aufgrund Zellenfarbe einer anderen
12.06.2006 08:42:28
Uwe
Vielen Dank für den hilfreichen Tipp.
Leider habe ich vergessen mitzuteilen, dass nicht nur die Wochenenden Rot eingefärbt werden, sondern auch die Feiertage.
Des weiteren werden die Urlaubstage, Kranktage, Gleitzeittage, etc. jeweils in einer eigenen Farbe hinterlegt, so dass die vorgeschlagene Formatierung keinen Sinn macht.
Es ist also wirklich eine Formel nötig, die sich rein auf die Zellfarbe in der Spalte A bezieht.
Notfalls wäre auch eine Makro-Lösung denkbar, da ich überlege die gesamte Liste auf einem Makro aufzubauen.
Erst Mal vielen Dank für eine Antwort.
Gruß
Uwe
Anzeige
AW: Berechnung aufgrund Zellenfarbe einer anderen
12.06.2006 09:18:28
Bernhard
hilft das?

Function Meine_Farbe(objRange As Range)
'Gibt Farbindex des Zellenhintergrundes an
'Anwednungsbeispiel: =Meine_Farbe(A1) ergibt Farbcode von Zelle A1
Meine_Farbe = objRange.Interior.ColorIndex
End Function


Function Meine_Schrift(objRange As Range)
'Gibt Farbindex des Zellenhintergrundes an
'Anwednungsbeispiel: =Meine_Schrift(A1) ergibt Schriftfarbe von Zelle A1
Meine_Schrift = objRange.Font.ColorIndex
End Function

Entweder du erweiterst die Funktion für deine Anwendung, oder
du machst im Excelsheet eine weitere Spalte, fügst in die Zellen =Meine_Farbe(XX) ein
und wertest die Zahlen mit =Zählenwenn oder Pivottabellen aus.
Grüße
Bernhard
Grüße
Bernhard
Anzeige
AW: Berechnung aufgrund Zellenfarbe einer anderen
12.06.2006 10:38:41
fcs
Halllo Udo,
ein Grundproblem bei Formeln, die Formatierungen verarbeiten sollen ist, dass sie bei einer Änderung der Formatierung der in der Formel verwendeten Zellen nicht automatisch neu berechnet werden. Berechnungen in Formeln werden nur aktualisiert, wenn sich die Werte der verwendeten Zellen ändern.
Insgesamt dürfte es einfacher sein, wenn du für die für die Sondertage (Feiertag, Urlaub, Krank, Gleitag) in einer zusätzlichen Spalte einen Eintrag machst und basierend auf diesem Eintrag die Farben der Zellen festlegt. Dann kann man durch eine Ereignisauswertung nach jeder Eingabe die Formatierungen anpassen.
Beispiel:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range
'Farben in Spalte "A" festlegen abhängig vom Wert in Spalte "L"
If Not Intersect(Target, Range("L2:L32")) Is Nothing Then
For Each Zelle In Target
Select Case Zelle.Value
Case "G" 'Gleittag
Cells(Zelle.Row, "A").Interior.ColorIndex = 10 'Grün
Case "F" 'Feiertag
Cells(Zelle.Row, "A").Interior.ColorIndex = 6 'Gelb
Case "U" 'Urlaub
Cells(Zelle.Row, "A").Interior.ColorIndex = 7 'Magenta
Case "K" 'Krank
Cells(Zelle.Row, "A").Interior.ColorIndex = 5 'blau
Case Else
Cells(Zelle.Row, "A").Interior.ColorIndex = xlNone
End Select
Next Zelle
End If
End Sub

Außerdem kann man dann als Basisformatierung für die Wochenenden meinen Vorschlag mit bedingter Formatierung verwenden.
mfg
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige