View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.misc
Gord Dibben Gord Dibben is offline
external usenet poster
 
Posts: 22,906
Default Changing font style and color using VBA

Luke

Just an add-on to your advice about disabling/enabling events.

In order to reset events in case of an error you should trap for an error.

On Error Goto stoppit
Application.EnableEvents = False

code to run

stoppit:
Application.EnableEvents = True
End Sub


Gord Dibben MS Excel MVP

On Wed, 30 Sep 2009 08:15:02 -0700, Luke M
wrote:

Since your Change Event macro "changes" the sheet, you need to temporarily
disable events to prevent an endless loop. Note that the EnableEvents does
not automatically get reset to "true" at the end of a macro, so you want to
make sure that is always included at the end.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Range("H6")
If Range("G6") <= 0.1 Then
.Value = "l"
.Font.Name = "Wingdings"
.Font.Color = RGB(0, 0, 255)

ElseIf Range("G6") <= 0.2 Then
.Value = "?"
.Font.Name = "Wingdings 3"
.Font.Color = RGB(255, 192, 0)

ElseIf Range("G6") 0.2 Then
.Value = "«"
.Font.Name = "Wingdings"
.Font.Color = RGB(255, 0, 0)

End If
End With
Application.EnableEvents = True
End Sub