Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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 :-?

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige