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

Forumthread: bedingte Formati. Formel m.Bezug auf aktive Zelle

bedingte Formati. Formel m.Bezug auf aktive Zelle
10.10.2008 16:06:59
Peter
Guten Tag
Ich will in der bedingten Formatierung den Wert der zu formatierenden Zelle abfragen,
z.b. in Zelle C3:
Bedingung 1
=CODE(C3)=230
Bedingung 2
=CODE(C3)=226
Bedingung 3
=CODE(C3)=232
Könnte ich die Zelle C3, also die zu formatierende Zelle, auch anders ansprechen (im Sinne von VBA Application.Caller)?
Danke für eine Antwort.
Gruss, Peter
https://www.herber.de/bbs/user/55955.xls
Anzeige

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

Betreff
Datum
Anwender
Anzeige
bedingte Formati. Formel m.Bezug auf aktive Zelle
10.10.2008 18:38:00
Uwe
Hi Peter,
vielleicht hast Du bis jetzt keine Antwort bekommen, weil auch die Anderen - so wie ich - nicht genau verstehen was Du mit im Sinne von .... meinst. Beschreibe es am besten mal genauer, vielleich an einem Beispiel. Mir fällt sonst nur die Funktion INDIREKT ein!!?
Gruß
Uwe
(:o)
Anzeige
AW: bedingte Formati. Formel m.Bezug auf aktive Zelle
10.10.2008 20:31:12
firmus
Hallo Peter,
benutze doch einfach den Macro-recorder und verfeinere das Ergebnis.
Hier das Ergebnis von "ein bischen rumspielen mit Recorder und Formatieren.".

Sub Macro1()
' Macro1 Macro
' Macro recorded 10.10.2008 by xyz
With Selection.Font
.Name = "Wingdings 3"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Range("D3").Select
ActiveCell.FormulaR1C1 = "4"
Range("E3").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="5"
With Selection.FormatConditions(1).Font
.Bold = False
.Italic = True
End With
Range("E3").Select
ActiveCell.FormulaR1C1 = "1"
Range("E3").Select
ActiveCell.FormulaR1C1 = "2"
Range("E3").Select
ActiveCell.FormulaR1C1 = "1"
Range("E3").Select
End Sub


Vielleicht reicht Dir die Anregung schon.
Gruß
Firmus

Anzeige
AW: bedingte Formati. Formel m.Bezug auf aktive Zelle
10.10.2008 20:46:00
Peter
Hallo Uwe
Mit "im Sinne von" habe ich folgendes gemeint:
in VBA kann ich mit Application.Caller ermitteln, von welcher Zelle der Aufruf kommt.
Wenn ich in Zelle C3
Wenn ich beispielsweise in die Zelle C3
=ADRESSE(ZEILE();SPALTE())
eingebe, erhalte ich als Ergebnis C3
Wenn ich bei der bedingten Formatierung (z.B. Bedingung 1) anstelle von C3
ADRESSE(ZEILE();SPALTE()) eingebe, ergibt dies die Formel
=CODE(ADRESSE(ZEILE();SPALTE()))=230
Diese kann jedoch nicht ausgewertet werden.
Somit bleibt die Frage, ob es eine andere Möglichkeit gibt die Formel
=CODE(C3)=230 Bedingung 1 bei bedingter Formatierung
so abzuändern, dass Excel selbst merkt, dass sich diese auf C3 bezieht, der Bezug also nicht mehr eingegeben werden muss.
Selbstverständlich kann ich als Bedingung einfach =Code(C3)=230 eingeben. Doch es wäre ja elegant, wenn es eine Möglichkeit gibt, dass der Bezug nicht nötig ist, wenn eine Zelle in Abhängigkeit des eigenen Inhalts formatiert werden soll.
Gruss, Peter
Anzeige
bedingte Formati. Formel m.Bezug auf aktive Zelle
10.10.2008 22:40:00
Jürgen
Hallo Peter,
ich habe einige Zeit gegrübelt, um zu verstehen, wo Dein Problem liegt - wirklich verstanden habe ich es ehrlich gesagt noch nicht.
Statt "Formel ist" kann man auch "Zellwert ist" verwenden, also "Zellwert ist gleich æ" (Code(230) entspricht "æ") - damit ist die Angabe der Zelle nicht erforderlich. Das spart die Angabe einer Zelle - das kann aber kaum ein / das Problem sein, denn an einer Zellangabe empfinde ich nichts unelegantes - im Gegenteil freue ich mich über die Freiheiten, die mir das ermöglicht.
Ich habe mich sogar schon gefragt, ob Du übersehen hast, dass man einen Zellbereich markieren und auf einen Schlag mit einer bedingten Formatierung versehen kannst (also z.B. Bereich c3 bis d10 markieren und als Formel für die bedingte Formatierung "=Code(c3)=230" eingeben - für die anderen Zellen wird die Zellreferenz entsprechend angepaßt), und Du davon ausgehst, man müsste die bedingte Formatierung für jede Zelle einzeln erfassen. Das würde aber nicht zu dem von Dir angegeben Know-How-Level passen.
Kurzum - mir geht es wie Uwe: mehr Input bitte...
Gruß, Jürgen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Bedingte Formatierung mit Bezug auf die aktuelle Zelle in Excel


Schritt-für-Schritt-Anleitung

Um die bedingte Formatierung mit Bezug auf die aktuelle Zelle zu verwenden, gehst du folgendermaßen vor:

  1. Zelle auswählen: Markiere die Zelle, die du formatieren möchtest (z.B. C3).
  2. Bedingte Formatierung öffnen: Gehe zu StartBedingte FormatierungNeue Regel.
  3. Formel zur Ermittlung der zu formatierenden Zellen verwenden: Wähle die Option „Formel zur Ermittlung der zu formatierenden Zellen verwenden“.
  4. Formel eingeben: Gib die Formel ein, die den Wert der aktuellen Zelle abfragt, z.B.:
    =CODE(C3)=230

    Du kannst die Zelle C3 auch durch die Funktion ADRESSE(ZEILE();SPALTE()) ersetzen, jedoch funktioniert das in der bedingten Formatierung nicht wie gewünscht.

  5. Format wählen: Klicke auf „Formatieren“ und wähle das gewünschte Format (z.B. Schriftfarbe, Hintergrundfarbe).
  6. Regel anwenden: Klicke auf „OK“, um die Regel zu speichern und die Formatierung anzuwenden.

Häufige Fehler und Lösungen

  • Fehler: Formel wird nicht ausgewertet
    Lösung: Stelle sicher, dass du die Zelle korrekt referenzierst. In der bedingten Formatierung ist es nicht möglich, dynamische Adressierungen wie ADRESSE(ZEILE();SPALTE()) zu verwenden. Nutze stattdessen die direkte Zellreferenz (z.B. C3).

  • Fehler: Format wird nicht angewendet
    Lösung: Überprüfe die Eingabe der Formel auf Genauigkeit. Achte darauf, dass die Bedingungen korrekt definiert sind.


Alternative Methoden

Eine alternative Methode zur Verwendung der bedingten Formatierung ist die Anwendung eines VBA-Makros. Hier ein einfaches Beispiel:

Sub BedingteFormatierungAktiveZelle()
    With Selection.FormatConditions.Add(Type:=xlCellValue, Operator:=xlEqual, Formula1:="=230")
        .Interior.Color = RGB(255, 0, 0) ' Rot
    End With
End Sub

Dieses Makro hebt die aktive Zelle rot hervor, wenn der Zellwert 230 ist. Du kannst es im VBA-Editor einfügen und ausführen.


Praktische Beispiele

  1. Hervorheben von Zellen mit spezifischen Codes: Wenn du Zellen in einem bestimmten Bereich (z.B. C3:D10) hervorheben möchtest, kannst du die Formel =CODE(C3)=230 in die bedingte Formatierung eingeben. Excel passt die Zellreferenz automatisch an.

  2. Aktive Zelle in einer Formel: Wenn du die aktive Zelle in einer Formel verwenden möchtest, ist der direkte Bezug (z.B. =CODE(C3)=230) die beste Vorgehensweise. Dies ist einfacher als der Versuch, VBA-Funktionen in die bedingte Formatierung einzufügen.


Tipps für Profis

  • Nutze den Makro-Recorder, um VBA-Code für komplexe Formatierungen zu erstellen. Du kannst diesen Code dann nach Bedarf anpassen.
  • Experimentiere mit verschiedenen Bedingungen in der bedingten Formatierung, um eine Vielzahl von Szenarien abzudecken.
  • Überlege, ob du die Formatierung für ganze Bereiche anwenden kannst, anstatt jede Zelle einzeln zu formatieren. Dies spart Zeit und sorgt für Konsistenz.

FAQ: Häufige Fragen

1. Kann ich die aktuelle Zelle ohne spezifische Zellreferenz formatieren?
Leider nicht. In der bedingten Formatierung muss du immer eine spezifische Zellreferenz angeben, wie z.B. =CODE(C3)=230.

2. Wie kann ich mehrere Bedingungen für die bedingte Formatierung einsetzen?
Du kannst mehrere Regeln für die bedingte Formatierung erstellen. Wähle einfach „Neue Regel“ für jede Bedingung aus und definiere die entsprechenden Formeln.

3. Ist es möglich, die Formatierung dynamisch zu gestalten?
Ja, du kannst mit VBA dynamische Formatierungen erstellen, die sich an die aktive Zelle anpassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige