Herbers Excel-Forum - das Archiv
bedingte Formatierung

|
Betrifft: bedingte Formatierung
von: Mathias
Geschrieben am: 31.10.2003 10:46:11
Hallo in die Runde,
zur bedingten Formatierung ist ja schon viel geschrieben worden und ich habe auch Einiges im Archiv gefunden. Leider hilft mir das aber nicht weiter.
Deshalb hier meine Frage:
Ich möchte die bedingte Formatierung mit mehr als drei Bedingungen (also per VBA) verwenden. Die Ansätze, die ich dazu gefunden habe, verwenden die "Case"-Funktion. Doch leider funktioniert das nur, wenn der betreffende Wert direkt in die Zelle eingegeben wird. Bei mir sind viele Zellwerte aber über Formeln berechtet.
Wie bekomme ich es also hin, dass z.B. die Farbe der Zelle wechselt, wenn der Zellwert sich durch Formeln ändert?
Gruß
Mathias
Betrifft: AW: bedingte Formatierung
von: Hajo_Zi
Geschrieben am: 31.10.2003 10:50:35
Hallo Matthias
schaue mal auf meine Homepage da ist ein Beispiel.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betrifft: AW: bedingte Formatierung
von: Mathias
Geschrieben am: 31.10.2003 11:15:27
Astrein!
Das sieht erstmal gut aus. Jetzt muss ich das nur noch auf meine Bedürfnisse umstricken.
Vielen Dank!
Gruß
Mathias
Betrifft: Zusatzfrage: bedingte Formatierung
von: Mathias
Geschrieben am: 31.10.2003 11:47:43
Hallo Hajo,
eine Frage hätte ich noch:
Wie muss der Code geändert werden, wenn die Farbe einer Zelle (z.B.E3) vom Ergebnis einer anderen Zelle (z.B.E2) abhängig sein soll?
Gruß
Mathias
Betrifft: AW: Zusatzfrage: bedingte Formatierung
von: Hajo_Zi
Geschrieben am: 31.10.2003 11:58:02
Hallo Matthias
Bei Fragen zu meiner Antwort, antworte ich nur, wenn die Frage hinter meiner Antwort steht oder ich lustig bin.
Mit der automatischen E-Mailbenachrichtigung werden nur die letzten beiden Beiträge angezeigt und in diesem Fall sehe ich meine Antwort nicht mehr, wenn die Frage nicht richtig plaziert wurde.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betrifft: AW: bedingte Formatierung
von: Mathias
Geschrieben am: 31.10.2003 12:14:11
Hallo Hajo,
ich hoffe, ich habe dich richtig verstanden und das ist jetzt korrekt so.
Hier noch mal meine Frage:
Wie muss der Code geändert werden, wenn die Farbe einer Zelle (z.B.E3) vom Ergebnis einer anderen Zelle (z.B.E2) abhängig sein soll?
Gruß
Mathias
Betrifft: AW: bedingte Formatierung
von: Hajo_Zi
Geschrieben am: 31.10.2003 12:24:54
Hallo Matthias
so ganz klar ist mir das nicht. Aber vielleicht reicht folgendes.
Case "3"
RaZelle.Offset(1, 0).Interior.ColorIndex = 3
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betrifft: AW: bedingte Formatierung
von: Mathias
Geschrieben am: 31.10.2003 15:43:21
Hallo Hajo,
so ganz komme ich noch nicht zurecht
Probiere hier schon eine ganze Weile, klappt aber nicht
Vielleicht kannst Du mehr damit anfangen, wenn ich das Beispiel konkreter erkläre:
Ich mache hier gerade eine Urlaubsdatei und habe dafür die Namen und andere Grunddaten in Spalte A-D eingetragen. Ab Spalte E folgt der Datumsbereich (E3=01.01. F3=02.01. usw. [aber nur Wochentage ->Mo-Fr]) Außerdem habe ich mehrere Hilfszeilen, die (über Formeln berechnet) z.B. ein "F" ausgeben, wenn der betreffende Tag ein Feiertag ist (Zeile2) Oder ein "X", wenn Ferien sind (Zeile4).
Und nun möchte ich folgendes erreichen: Die Zellen im Bereich E3 bis ED50 sollen in Abhängigkeit davon eingefärbt oder umrandet werden, ob es sich um einen Feiertag handelt, oder um einen Montag, oder ob Ferien sind.
Ein paar Beispiele:Der 01.01. ist ein Feiertag -> E3-E50=grün
Der 05.01. ist ein Montag und es sind Ferien -> G3-G50=gelb&Rand links
Der 12.01. ist ein normaler Montag -> L3-L50=keine Färbung&Rand links
usw.
Ich hoffe, ich konnte deutlich machen, was ich erreichen möchte und würde mich freuen, wieder von dir zu hören.
Gruß
Mathias
Betrifft: AW: bedingte Formatierung
von: Hajo_Zi
Geschrieben am: 01.11.2003 08:51:30
Hallo Mathias
wer soll das nachbauen???
Aus Deiner Beschreibung sehe ich nur 3 Bedingungen, aber ich vermute Du hast noch ein paar mehr.
Lade doch mal Deine Datei hoch ode den Tabellen auschnitt hoch mit Beschreibung ungefähr so.
|
02 |
| B | C | D | E | F | G | H | 1 | 01.02.2003 | Maier | Schulz | geplante Urlaubstage | GU | | 3 | 2 | | | | Urlaubstage | U | | 4 | 3 | 01. Feb 03 | | | Sonderurlaubstage | SU | | 6 | 4 | 02. Feb 03 | | | Krankheitstage | K | | 7 | 5 | 03. Feb 03 | gu | | Seminar-/ Schulungstage | SE | | 17 | 6 | 04. Feb 03 | SU | | | | | | 7 | 05. Feb 03 | u | | | | | | 8 | 06. Feb 03 | K | | | | | | 9 | 07. Feb 03 | se | | | | | |
Formeln der Tabelle | B1 : =DATUM(JAHR('01'!B1);MONAT('01'!B1)+1;TAG('01'!B1))
B3 : =A3
B4 : =A4
B5 : =A5
B6 : =A6
B7 : =A7
B8 : =A8
B9 : =A9
|
Bedingte Formatierungen der Tabelle | Zelle | Nr.: / Bedingung | Format | B3 | 1. / Formel ist =WOCHENTAG($B3;2)>5 | Abc | B3 | 2. / Formel ist =$A3="" | Abc | C3 | 1. / Formel ist =WOCHENTAG($B3;2)>5 | Abc | C3 | 2. / Formel ist =$A3="" | Abc | D3 | 1. / Formel ist =WOCHENTAG($B3;2)>5 | Abc | D3 | 2. / Formel ist =$A3="" | Abc | B4 | 1. / Formel ist =WOCHENTAG($B4;2)>5 | Abc | B4 | 2. / Formel ist =$A4="" | Abc | C4 | 1. / Formel ist =WOCHENTAG($B4;2)>5 | Abc | C4 | 2. / Formel ist =$A4="" | Abc | D4 | 1. / Formel ist =WOCHENTAG($B4;2)>5 | Abc | D4 | 2. / Formel ist =$A4="" | Abc | B5 | 1. / Formel ist =WOCHENTAG($B5;2)>5 | Abc | B5 | 2. / Formel ist =$A5="" | Abc | C5 | 1. / Formel ist =WOCHENTAG($B5;2)>5 | Abc | C5 | 2. / Formel ist =$A5="" | Abc | D5 | 1. / Formel ist =WOCHENTAG($B5;2)>5 | Abc | D5 | 2. / Formel ist =$A5="" | Abc | B6 | 1. / Formel ist =WOCHENTAG($B6;2)>5 | Abc | B6 | 2. / Formel ist =$A6="" | Abc | C6 | 1. / Formel ist =WOCHENTAG($B6;2)>5 | Abc | C6 | 2. / Formel ist =$A6="" | Abc | D6 | 1. / Formel ist =WOCHENTAG($B6;2)>5 | Abc | D6 | 2. / Formel ist =$A6="" | Abc | B7 | 1. / Formel ist =WOCHENTAG($B7;2)>5 | Abc | B7 | 2. / Formel ist =$A7="" | Abc | C7 | 1. / Formel ist =WOCHENTAG($B7;2)>5 | Abc | C7 | 2. / Formel ist =$A7="" | Abc | D7 | 1. / Formel ist =WOCHENTAG($B7;2)>5 | Abc | D7 | 2. / Formel ist =$A7="" | Abc | B8 | 1. / Formel ist =WOCHENTAG($B8;2)>5 | Abc | B8 | 2. / Formel ist =$A8="" | Abc | C8 | 1. / Formel ist =WOCHENTAG($B8;2)>5 | Abc | C8 | 2. / Formel ist =$A8="" | Abc | D8 | 1. / Formel ist =WOCHENTAG($B8;2)>5 | Abc | D8 | 2. / Formel ist =$A8="" | Abc | B9 | 1. / Formel ist =WOCHENTAG($B9;2)>5 | Abc | B9 | 2. / Formel ist =$A9="" | Abc | C9 | 1. / Formel ist =WOCHENTAG($B9;2)>5 | Abc | C9 | 2. / Formel ist =$A9="" | Abc | D9 | 1. / Formel ist =WOCHENTAG($B9;2)>5 | Abc | D9 | 2. / Formel ist =$A9="" | Abc |
|
|
|
Excel Tabellen einfach im Web darstellen Excel Jeanie HTML 2.0 Download
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betrifft: AW: bedingte Formatierung
von: Mathias
Geschrieben am: 03.11.2003 17:02:04
Hallo Hajo,
ich versuch's mal....
Die Datei ist jetzt hochgeladen unter
https://www.herber.de/bbs/user/1727.xls
Nochmal kurz mein Vorhaben:
Ich möchte den Bereich ab Spalte E sowohl einfärben, als auch mit Rand versehen, um so Feiertage (dunkles Gelb), Ferien (helles Gelb) und Wochen (Rand) kenntlich zu machen. Und das alles in Abhängigkeit von den Werten in Zeile 2-5. Einzelnd ist das bereits gelöst. Zeile setzt automatisch die Wochenränder, der Bereich ab Zeile 3 färbt Ferien und Feiertage korrekt ein. Doch für die Kombination benötige ich mehr als drei Bedingungen.
Ich hoffe, du kannst dir jetzt ein Bild davon machen und hast evtl. einen Lösungsansatz parat.
Gruß
Mathias
Betrifft: AW: bedingte Formatierung
von: Hajo_Zi
Geschrieben am: 03.11.2003 17:15:01
Hallo Mathias
den Code habe ich vergessen.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' erstellt von Hajo.Ziplies@web.de 19.07.03, 30.10.03, 31.10.03
' http://home.media-n.de/ziplies/
' HINTERGRUND
' für Schrift RaZelle.Font.ColorIndex
Dim RaBereich As Range, RaZelle As Range
' Bereich der Wirksamkeit
Set RaBereich = Range("C:IV")
' ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
Select Case UCase(RaZelle.Value) ' UMWANDLUNG DER Eingabe in Großbuchstaben
Case "GU"
RaZelle.Interior.ColorIndex = 3
Case "U"
RaZelle.Interior.ColorIndex = 4
Case "SU"
RaZelle.Interior.ColorIndex = 6
Case "K"
RaZelle.Interior.ColorIndex = 7
Case "SE"
RaZelle.Interior.ColorIndex = 17
Case Else
RaZelle.Interior.ColorIndex = xlNone
End Select
End If
Next RaZelle
' ActiveSheet.protect ("Passwort")
Set RaBereich = Nothing
End Sub
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro