FormatConditions
03.04.2017 16:07:41
Burkhard
bin etwas überrascht (um das Mindeste zu sagen) über folgendes Verhalten von Excel:
Ich setze per VBA eine bedingte (Farb-)Formatierung (Range.FormatConditions). Wenn ich vorher die Range (zwei Zeilen) selektiere, wird NUR die erste Zeile farbig dargestellt, wenn die Bedingung zutrifft. Wenn ich das select vermeide und die Range direkt anspreche, wird NUR die zweite Zeile eingefärbt.
Folgender Code:
' gwCheckSheet.Range(sFormatRange).Select ' sFormatRange ist "A4:J5"
' With Selection
With gwCheckSheet.Range(sFormatRange)
.FormatConditions.Delete
sConditionFormula = "=$" & sRange & "=" & Chr(34) & csActionCorrect & Chr(34)
' sRange ist "A4"
.FormatConditions.Add Type:=xlExpression, Formula1:=sConditionFormula
' sConditionFormula ist "=$A4="correct""
.FormatConditions.Item(1).Interior.Color = RGB(205, 255, 155)
sConditionFormula = "=$" & sRange & "=" & Chr(34) & csActionDelete & Chr(34)
.FormatConditions.Add Type:=xlExpression, Formula1:=sConditionFormula
' sConditionFormula ist "=$A4="delete""
.FormatConditions.Item(2).Interior.Color = RGB(255, 205, 205)
End With
Der aktive Code färbt A5:J5 (wenn A4 = "correct" oder "delete") - der mit dem select färbt A4:J4. Eigentlich sollten sich ja in beiden Fällen A4:J5 ändern, oder?Hab ich da irgendwo einen Knoten im Hirn? Oder im Code?
Grüße
Burkhard