Bedingte Formatierung mit VBA

28/07/2009 - 19:33 von Boris Helm | Report spam
Hallo,

ich möchte eine bedingte Formatierung mit VBA steuern. Habe im Internet den
untenstehenden Code gefunden und die Teile ab ...,xlequal,.. angepasst.
Jetzt erkennt Excel das nur als Text. Wie bringe ich ihm nun bei Werte >0,01
und <0,9 entsprechend zu formatieren.

Über einen kompletten Code wàre ich natürlich auch dankbar :-)

Vielen Dank und Gruß
Boris

P.S. Hier der Code

Public Sub BedingtesAmpelFormat()
Dim Wert As Variant

With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter


'*** Bedingte Formatierung anlegen
.FormatConditions.Delete

' Bedingung für roten Zellhintergrund
With .FormatConditions.Add(xlCellValue, xlEqual, ">0,01 and <0,9")
.Font.ColorIndex = 3
.Interior.ColorIndex = 3
End With

' Bedingung für grünen Zellhintergrund
With .FormatConditions.Add(xlCellValue, xlEqual, ">=0,9 and <0,94")
.Font.ColorIndex = 50
.Interior.ColorIndex = 50
End With

' Bedingung für gelben Zellhintergrund
With .FormatConditions.Add(xlCellValue, xlEqual, ">= 0,94 and <=1")
.Font.ColorIndex = 6
.Interior.ColorIndex = 6
End With
End With
End Sub
 

Lesen sie die antworten

#1 Alexander Wolff
28/07/2009 - 20:31 | Warnen spam
Die Tastatur von Boris Helm wurde wie folgt gedrückt:
Hallo,

ich möchte eine bedingte Formatierung mit VBA steuern. Habe im
Internet den untenstehenden Code gefunden und die Teile ab
...,xlequal,.. angepasst. Jetzt erkennt Excel das nur als Text. Wie
bringe ich ihm nun bei Werte >0,01 und <0,9 entsprechend zu
formatieren.
Über einen kompletten Code wàre ich natürlich auch dankbar :-)

Vielen Dank und Gruß
Boris

P.S. Hier der Code

Public Sub BedingtesAmpelFormat()
Dim Wert As Variant

With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter


'*** Bedingte Formatierung anlegen
.FormatConditions.Delete

' Bedingung für roten Zellhintergrund
With .FormatConditions.Add(xlCellValue, xlEqual, ">0,01 and
<0,9") .Font.ColorIndex = 3
.Interior.ColorIndex = 3
End With

' Bedingung für grünen Zellhintergrund
With .FormatConditions.Add(xlCellValue, xlEqual, ">=0,9 and
<0,94") .Font.ColorIndex = 50
.Interior.ColorIndex = 50
End With

' Bedingung für gelben Zellhintergrund
With .FormatConditions.Add(xlCellValue, xlEqual, ">= 0,94 and
<=1") .Font.ColorIndex = 6
.Interior.ColorIndex = 6
End With
End With
End Sub




In A1 führe aus:

Sub Makro1()
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=UND(A1>0,01;0,9>A1)"
Selection.FormatConditions(1).Interior.ColorIndex = 3
End Sub



... denn das, was Du willst ...

Sub Makro2()
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:="0,01", Formula2:="0,9"
Selection.FormatConditions(1).Interior.ColorIndex = 3
End Sub

... haut für Intervalle nicht hin. Es heißt nàmlich nur "zwischen" (beide
Randwerte inklusive!), statt sauber:

Von ... bis unter ... oder
Von über ... bis ...
Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2

Ähnliche fragen