Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bed. Formatierung in Abhängigkeit mehrerer Zellen

Bed. Formatierung in Abhängigkeit mehrerer Zellen
Stefan
Hallo zusammen
Ich stehe wieder einmal vor einem Problem, bei welchem ich auf eure Unterstützung angewiesen bin:
Ich bearbeite eine Geschäfts-Pendenzenliste, welche mehr als 3 dedingte Formatierungen beinhaltet. Die Bedingungen sind vom Inhalt mehreren Zellen abhängig. Nun zu meinem Beispiel:
Diese Bedingungen hatte ich bis jetzt unter der Bedingten Formatierung eingestellt:
Für Bereiche A:D, F:H
=UND(RECHTS(A4;2)"00";G4="p") dann Schriftfarbe schwarz schmal (1) (Standard)
=UND(RECHTS(A4;2)="00";G4="p") dann Schriftfarbe schwarz (1) fett
=UND(RECHTS(A4;2)="00";G4="e") dann Schriftfarbe grau (16) fett
=UND(RECHTS(A4;2)"00";G4="e") dann Schriftfarbe grau (16) schmal
*Zusätzlich kommen folgende Formatierungen neu dazu:
Für Bereich E:E
* =UND(RECHTS(A4;2)="00";E4="hf";G4="p") dann Schriftfarbe grün (43) fett
* =UND(RECHTS(A4;2)="00";E4="sf";G4="p") dann Schriftfarbe orange (45) fett
* =UND(RECHTS(A4;2)="00";E4="AMü";G4="p") dann Schriftfarbe lila (7) fett
* =UND(RECHTS(A4;2)="00";E4="PV";G4="p") dann Schriftfarbe violett (13) fett
=UND(RECHTS(A4;2)="00";G4="e") dann Schriftfarbe grau (16) fett
* =UND(RECHTS(A4;2)"00";E4="hf";G4="p") dann Schriftfarbe grün (43) schmal
* =UND(RECHTS(A4;2)"00";E4="sf";G4="p") dann Schriftfarbe orange (45) schmal
* =UND(RECHTS(A4;2)"00";E4="AMü";G4="p") dann Schriftfarbe lila (7) schmal
* =UND(RECHTS(A4;2)"00";E4="PV";G4="p") dann Schriftfarbe violett (13) schmal
=UND(RECHTS(A4;2)"00";J4="e") dann Schriftfarbe grau (16) schmal
* =UND(RECHTS(A4;2)="00";ODER(E4"hf;E4"sf";E4"AMü";E4"PV");G4="p") dann
Schriftfarbe schwarz (1) fett
* =UND(RECHTS(A4;2)"00";ODER(E4"hf;E4"sf";E4"AMü";E4"PV");G4="p")
dann Schriftfarbe schwarz (1) schmal
Erläuterung:
Für Spalten A:D und F:H:
Wenn A4 (2 Zeichen von rechts) = "00" ergibt und der Inhalt von G4 = "p" ist, dan muss die Schrift von A4:D4; F4:H4 fett schwarz formatiert werden
usw.
Für Spalte E:
Wenn A4 (2 Zeichen von rechts) = "00" ergibt, der Inhalt von E4 = "hf" ist und der Inhalt von G4 = "p" ist, dan muss die Schrift in E4 fett grün formatiert werden
usw.
Ich will nun alle Bedingungen in ein Makro einbauen, so dass nach einer Eingabe in den definierten Bereichen A:D, E:E und F:H die entsprechenden Formatierungen automatisch übernommen werden, z.B. mit folgender Anweisung:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A4:H")) Is Nothing Then
…
Weiss jemand, wie ich die Bedingungen sinnvoll mit einem Makro zum Laufen bringe?
Ich hoffe es meldet sich jemand, trotz der warmen Ferienzeit!
Es grüsst Euch
Stefan
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bed. Formatierung in Abhängigkeit mehrerer Zellen
21.07.2010 19:18:54
fcs
Hallo Stefan,
in meiner kühlen Untergeschoß-Einlieger-Mietwohnung konnte ich deine Wüsche wohl doch auf die Reihe bringen.
In einer deiner Prüfeungen wolltest prüfen: J4="e"
Ich nehme an, das sollte auch G4="e" heißen. Falls nicht, dann muss man an der Prozedur nochmals basteln.
Gruß
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngRow As Range, Zeile As Long
'Zeile und Spalte der geänderten Zelle(n) prüfen
If Target.Row >= 4 And Target.Column = 4 Then
'Font-Einstellungen zurücksetzen in Spalten A:H
With Range(Cells(Zeile, 1), Cells(Zeile, 8)).Font
.ColorIndex = xlAutomatic: .Bold = False
End With
'Spalten A:D und F:G formatieren
With Application.Union(Range(Cells(Zeile, 1), Cells(Zeile, 4)), _
Range(Cells(Zeile, 6), Cells(Zeile, 8))).Font
'rechte 2 Zeichen in Spalte A prüfen
Select Case Right(Cells(Zeile, 1), 2)
Case "00"
'Wert in Spalte G prüfen
Select Case Cells(Zeile, 7) 'Wert in Spalte G
Case "p": .ColorIndex = 1:  .Bold = True
Case "e": .ColorIndex = 16: .Bold = True
End Select
Case Else ' "00"
'Wert in Spalte G prüfen
Select Case Cells(Zeile, 7) 'Wert in Spalte G
Case "p": .ColorIndex = 1:  .Bold = False
Case "e": .ColorIndex = 16: .Bold = False
End Select
End Select
End With
'Spalte E formatieren
With Cells(Zeile, 5).Font
'rechte 2 Zeichen in Spalte A prüfen
Select Case Right(Cells(Zeile, 1), 2)
Case "00"
'Wert in Spalte G prüfen
Select Case LCase(Cells(Zeile, 7)) 'Wert Spalte G
Case "p"
'Wert in Spalte E prüfen
Select Case Cells(Zeile, 5)
Case "hf":  .ColorIndex = 43: .Bold = True
Case "sf":  .ColorIndex = 45: .Bold = True
Case "AMü": .ColorIndex = 7:  .Bold = True
Case "PV":  .ColorIndex = 13: .Bold = True
Case Else:  .ColorIndex = 1:  .Bold = True
End Select
Case "e"
.ColorIndex = 16: .Bold = True
End Select
Case Else ' "00"
'Wert in Spalte G prüfen
Select Case Cells(Zeile, 7) 'Wert Spalte G
Case "p"
'Wert in Spalte E prüfen
Select Case Cells(Zeile, 5) 'Wert Spalte E
Case "hf":  .ColorIndex = 43: .Bold = False
Case "sf":  .ColorIndex = 45: .Bold = False
Case "AMü": .ColorIndex = 7:  .Bold = False
Case "PV":  .ColorIndex = 13: .Bold = False
Case Else:  .ColorIndex = 1:  .Bold = False
End Select
Case "e": .ColorIndex = 16: .Bold = False
End Select
End Select
End With
End If
Next
End If
End Sub

Anzeige
Stichwort: Dynamisiertes BedingtFormat
22.07.2010 16:59:07
Luc:-?
Hi Stefan,
such mal im Herber-Archiv, dann bekommst du das auch mit (dynamisierter) echter BedingtFormatierung (allerdings nur mit VBA-Unterstützung) vor xl12 mit beliebig vielen (Unter-)Bedingungen hin.
Diese Möglichkeit ist leider immer noch nicht bei der Allgemeinheit der Foristen angekommen, weshalb stets und ständig Vorschläge a la CFPlus (s.Franz, Hajo u.a.) gemacht wdn… ;->
Gruß Luc :-?
Anzeige

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige