Bedingte Formatierung mit Excel-VBA-code
Ich habe Range-Objekt aufgerufen DistinationRange
enthält die Referenz zum Bereich B3:H63
Ich möchte die folgenden zwei Regeln der bedingten Formatierung mit Excel-VBA-code dynamisch. (Da die Reichweite wäre nicht das gleiche sein die ganze Zeit)
- Wenn eine Zelle der Spalte D leer ist, wird keine Formatierung angewendet werden soll (verwenden Müssen, zu Stoppen, Wenn es Wahr)
- Wenn der Wert in Zelle der Spalte E ist kleiner als der Wert in Zelle der Spalte F, die ganze Zeile sollte grün hinterlegt.
Habe viel versucht mit der Aufnahme, aber es ist nicht die Aufnahme richtig.
Bitte Helfen.
InformationsquelleAutor Tejas | 2012-12-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese erhalten Sie Antwort auf Ihre einfachen Fall, aber kann man erweitern, wie Sie wissen, welche Spalten müssen verglichen werden (B und C in diesem Fall) und was die ursprüngliche Reihe (
A1:D5
in diesem Fall)? Dann kann ich versuchen, um eine vollständige Antwort.Hinweis: dies ist getestet in Excel 2010.
Edit: code Aktualisiert, basierend auf Kommentare.
"A1:D5"
mit"DestinationRange"
würde das aussortieren der dynamischen Natur von der ersten Reihe.🙂 Ja, es würde!!! Ich bin zwar auch neugierig, wenn die Spalten B und C sind statisch oder ändern sich zusammen mit
DestinationRange
Wenn der Bereich definiert, zuerst als
A1
zuD5
, dann das makro ausgeführt wird, dann der Bereich verschoben wird, um das Arbeitsblatt, dann scheint es in Ordnung zu sein und die Formel wird dynamisch aktualisiert. Aber wenn der Bereich wird zunächst definiert als etwas anderes (L4
zuO8
, zum Beispiel), dann es passieren komische Dinge mit der Formel in der Bedingung. Es muss einen Weg, um es richtig dynamisch.Eigentlich Reichen und Spalten, die ich brauche, um zu verwenden ist statisch. Vielen Dank für Ihre Antwort, aber Sie bedingte Formate angewendet wird, geben falsche Ergebnisse. Bereich, die ich brauche, um zu verwenden ist "B3:H62" und ich fügte hinzu, ein bedingtes format, das als Range("B3:H62").FormatConditions.Add Type:=xlExpression, Formula1:="=WENN($D3="""",FALSE,IF($F3>=$E3,TRUE,FALSE))" Auch wenn ich in der Formatierung Bedingungen von Excel-front-end-Schnittstelle ist es zu zeigen, wie =WENN($D2="",FALSE,IF($F2>=$E2,TRUE,FALSE))
Du hast Recht. Haben Sie in der Lage zu finden keine Lösung für diese Probleme?
InformationsquelleAutor Kevin Pope
Ich glaube, ich habe gerade entdeckt eine Möglichkeit, sich überlappenden Bedingungen in der erwarteten Weise mit VBA.
Nach Stunden des Ausprobierens verschiedene Ansätze fand ich, dass das, was funktionierte, war die änderung der "Betrifft" - Bereich für die bedingte Formatierung Regel, nach der jeder einzelne wurde erstellt!
Dies ist mein Beispiel:
InformationsquelleAutor Julius Getz Mørk