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

Formel bei bedingter Formatierung...

Forumthread: Formel bei bedingter Formatierung...

Formel bei bedingter Formatierung...
14.02.2003 09:23:03
Steffen D
Hallo Leute,

ich habe einen Codeschnipsel:

With Range("A5:A78")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=WENN(B5=""IW"";1;0)"
.FormatConditions(1).Interior.ColorIndex = 6
.FormatConditions.Add Type:=xlExpression, Formula1:="=WENN(B5=""KW"";1;0)"
.FormatConditions(2).Interior.ColorIndex = 37
.FormatConditions.Add Type:=xlExpression, Formula1:="=WENN(B5=""SA"";1;0)"
.FormatConditions(3).Interior.ColorIndex = 20
End With

Wenn ich ihn ausführe, und dann mir die Formeln (unter bedingte Formatierung) anschaue, dann steht da nicht die obere formel, sondern: =WENN(B9="SA";1;0)

Warum B9? Ich habe doch eindeutig gesagt B5!?

Wo ist der Fehler drin?

Vielen Dank

Gruß
Steffen D

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Formel bei bedingter Formatierung...
14.02.2003 09:35:01
Peter Haserodt

Hi,
Bedingte Formatierungen wollen die Bezüge in R1C1.
Siehe Hilfe.

Gruss Peter

Re: Formel bei bedingter Formatierung...
14.02.2003 09:37:36
gordon

Hallo Steffen,

Wenn es immer B5 sein soll, dann
...xlExpression, Formula1:="=WENN($B$5=""IW"";1;0)"

Bei Ausführung des Makros unterstellt Excel sonst den relativen Bezug A1 wird zu A5 -> B5 wird zu B9

Gruß
gordon

Anzeige
Re: Formel bei bedingter Formatierung...
14.02.2003 09:45:27
ANdreas

Hallo Steffen,

den wenigsten Aufwand hast Du wenn Du vorher die Zelle A5 selektierst (ja es ist unnötig ;), dann geht es so (habe die Formel auch etwas gekürzt):
Hoffe das hilft weiter,
Andreas

Re: Formel bei bedingter Formatierung...
14.02.2003 09:55:11
Steffen D

Hi,

danke,

Excel ist aber manchmal sehr komisch

ich dachte man kann auf Select verzichten...

Gruß
Steffen D

Anzeige
Re: Formel bei bedingter Formatierung...
14.02.2003 10:54:54
ANdreas

Hallo Steffen,

hier noch mal eine Lösung OHNE Select:
Viel Spaß,
Andreas
http://www.bei-andi.de/excel

;
Anzeige

Infobox / Tutorial

Bedingte Formatierung mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um eine bedingte Formatierung in Excel mit VBA zu erstellen, kannst du folgenden Codeschnipsel verwenden:

With Range("A5:A78")
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlExpression, Formula1:="=WENN($B$5=""IW"";1;0)"
    .FormatConditions(1).Interior.ColorIndex = 6
    .FormatConditions.Add Type:=xlExpression, Formula1:="=WENN($B$5=""KW"";1;0)"
    .FormatConditions(2).Interior.ColorIndex = 37
    .FormatConditions.Add Type:=xlExpression, Formula1:="=WENN($B$5=""SA"";1;0)"
    .FormatConditions(3).Interior.ColorIndex = 20
End With

Achte darauf, dass du die Formel mit absoluten Bezügen ($B$5) verwendest, um sicherzustellen, dass Excel nicht automatisch auf relative Bezüge umschaltet.


Häufige Fehler und Lösungen

Ein häufiges Problem tritt auf, wenn Excel die Bezüge in der bedingten Formatierung nicht korrekt interpretiert. Zum Beispiel könnte es passieren, dass die Formel =WENN(B5="IW";1;0) fälschlicherweise in =WENN(B9="SA";1;0) umgewandelt wird. Dies geschieht, weil Excel die Bezüge relativ anpasst.

Lösung: Verwende immer absolute Bezüge, wie im vorherigen Abschnitt beschrieben. Dadurch wird der Bezug auf die Zelle B5 festgelegt und nicht angepasst.


Alternative Methoden

Wenn du die Verwendung von Select vermeiden möchtest, gibt es Alternativen, um die Formatierung direkt auf einen Bereich anzuwenden. Eine Möglichkeit ist, die Formatierung direkt auf die Zielzelle anzuwenden, ohne vorher die Zelle auszuwählen:

Range("A5:A78").FormatConditions.Add Type:=xlExpression, Formula1:="=WENN($B$5=""IW"";1;0)"

Mit dieser Methode kannst du den Code effizienter gestalten und die Ausführung beschleunigen.


Praktische Beispiele

Hier ist ein Beispiel für die Anwendung der bedingten Formatierung, das auf einer spezifischen Bedingung basiert. Angenommen, du möchtest die Zellen in Spalte A basierend auf dem Inhalt von Spalte B einfärben:

With Range("A5:A78")
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlExpression, Formula1:="=WENN($B$5=""IW"";1;0)"
    .FormatConditions(1).Interior.ColorIndex = 6  ' Gelb
    .FormatConditions.Add Type:=xlExpression, Formula1:="=WENN($B$5=""KW"";1;0)"
    .FormatConditions(2).Interior.ColorIndex = 37 ' Blau
    .FormatConditions.Add Type:=xlExpression, Formula1:="=WENN($B$5=""SA"";1;0)"
    .FormatConditions(3).Interior.ColorIndex = 20 ' Grün
End With

Dieses Skript verwendet die formatconditions.add Methode, um die bedingte Formatierung effizient anzuwenden.


Tipps für Profis

  1. Verwende Named Ranges: Dies kann helfen, deine Formeln klarer und einfacher zu pflegen.
  2. Kommentiere deinen Code: Wenn du komplexe Bedingungen verwendest, helfen Kommentare, den Code besser verständlich zu machen.
  3. Teste deine Formeln: Bevor du sie in deinen finalen Code einfügst, teste sie in einer Excel-Zelle, um sicherzustellen, dass sie die gewünschten Ergebnisse liefern.

FAQ: Häufige Fragen

1. Warum sollte ich absolute Bezüge verwenden?
Wenn du absolute Bezüge wie $B$5 verwendest, bleibt der Bezug konstant, auch wenn du die bedingte Formatierung auf andere Zellen anwendest.

2. Was kann ich tun, wenn Excel die Formatierung nicht richtig anzeigt?
Überprüfe, ob du die richtige Formel verwendest und ob die Bezüge korrekt sind. Stelle sicher, dass die Formatierung auf den gewünschten Bereich angewendet wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige