Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1248to1252
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bedingte Formatierung per VBA

Bedingte Formatierung per VBA
dave
Hallo zusammen,
ich verstehe es nicht:
Folgender Code:
    With Range("B9:K108")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=UND(MAX($I9:$J9)-HEUTE()" _
""")"
erzeugt im angegebenen Bereich die Formel mit - wie mir scheint - willkürlichen Bezugswerten. Eben dachte ich, es würde funktionieren. Aber nachdem ich noch etwas anderes geändert habe, was mit dem Code gar nichts zu tun hat (der angegebene Code läuft innerhalb einer If-Schleife) wird nun auf einmal eine Formel mit I2:J2 erzeugt.
Ich will im angegebenen Bereich eine bedingte Formatierung erzeugen, die sich auf Werte in der selben Zeile bezieht. In welche Relation muss ich das im Code setzen, damit auf Bezug auf die selbe Zeile genommen wird?
Gruß
David

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bedingte Formatierung per VBA
21.02.2012 19:00:36
dave
Habe gerade festgestellt, dass es wohl davon abhängt, in welcher Zelle sich der Cursor befindet, wenn das Makro ausgelöst wird.
Nach voranstellen von

Range("B9").Select
klappt das jetzt.
ist meine Lösung korrekt oder gibts da noch einen anderen "Trick"?
Gruß
David
AW: Bedingte Formatierung per VBA
21.02.2012 19:12:50
Tino
Hallo,
dies liegt daran das die Bedingte Formatierung Bezug auf die aktive Zelle nimmt.
z. Bsp. kann man einen Offset berechnen und diesen mit die Formel einbauen.
Versuche es mal so.
Dim OffsetRow&

With Range("B9:K108")
        OffsetRow = .Cells(1, 1).Row - ActiveCell.Row
        .FormatConditions.Delete
        .FormatConditions.Add _
            Type:=xlExpression, _
            Formula1:= _
            "=UND(MAX($I" & 9 - OffsetRow & ":$J" & 9 - OffsetRow & ")-HEUTE()<=4;$I" & 9 - OffsetRow & "<>"""")"
End With
Gruß Tino
Anzeige
AW: Bedingte Formatierung per VBA
21.02.2012 19:52:10
Tino
Hallo,
fehlt noch das Autoausfüllen der Formel.
Dim OffsetRow&, rngRow As Range

With Range("B9:K108")
    OffsetRow = .Cells(1, 1).Row - ActiveCell.Row
    For Each rngRow In .Rows
        With rngRow
            .FormatConditions.Delete
            .FormatConditions.Add _
                Type:=xlExpression, _
                Formula1:= _
                "=UND(MAX($I" & 9 - OffsetRow & ":$J" & 9 - OffsetRow & ")-HEUTE()<=4;$I" & 9 - OffsetRow & "<>"""")"
            .FormatConditions(1).Interior.Color = 255
        End With
    Next rngRow
End With
Gruß Tino
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige