Hallo zusammen,
ich suche nach einer Moeglichkeit die Schriftart einer Zelle, je nach Ausgang der darin enthaltenen IF-Bedingung, zu aendern.
In meinem Beispiel habe ich den Bereich H25:AZ30 in der sich eine Vielzahl (ca.50) von verbundenen Zellen mit erwaehnter IF-Bedingung befinden. Diese kann dabei vier verschiedene Ergebnisse auswerfen ("O", "P", "Reduce" oder "").
Aktuell ist fuer alle diese Zellen die Standardschriftart Wingdings 2, (Schriftgroesse 20, bold). Da "O" und "P" als Symbole in Wingdings brauchbar sind wuerde ich gerne fuer den Fall, dass in den betreffenden Zellen "Reduce" ausgeworfen wird, die Schriftart zu Arial (Schriftgroesse 16, bold) automatisch aendern lassen.
Dazu habe ich schon die beiden folgenden Codes aus verschiedenen Schnipseln zusammengebastelt, allerdings funktionieren sie entweder gar nicht oder nur wenn ich sie ganz bewusst starte.
Was genau mache ich hier falsch? Habe ich sie vielleicht falsch eingefuegt (aktuell als Module)?
Schon mal vielen Danke vorab!
Peter
Private Sub Auto_Open()
Dim xCell As Range
For Each xCell In Range("H25:AX35")
With xCell
If Len(.Text) > 3 Then
.Font.Name = "Arial"
.Font.Size = 16
Else
.Font.Name = "Wingdings 2"
.Font.Size = 20
End If
End With
Next
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = "AX25"
On Error GoTo ws_exit
Application.EnableEvents = False
With Me.Range(WS_RANGE)
Select Case .Value
Case "O":
.Font.Name = "Wingdings 2"
Case "P":
.Font.Name = "Wingdings 2"
Case "X":
.Font.Name = "Arial"
.Font.ColorIndex = xlColorIndexAutomatic
End Select
End With
ws_exit:
Application.EnableEvents = True
End Sub
|