Définir la couleur d'arrière-plan pour une plage de cellules

J'ai le code VBA dans une feuille de calcul Excel. Il est utilisé pour définir la police et la couleur d'arrière-plan d'une cellule basée sur la valeur de cette cellule. Je suis en train de faire en VBA au lieu de "mise en forme Conditionnelle" parce que j'ai plus que 3 conditions. Le code est:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, d As Range, fc As Long, bc As Long, bf As Boolean
Set d = Intersect(Range("A:K"), Target)
If d Is Nothing Then Exit Sub
For Each c In d
    If c >= Date And c <= Date + 5 Then
        fc = 2: fb = True: bc = 3
    Else
        Select Case c
            Case "ABC"
                fc = 2: fb = True: bc = 5
            Case 1, 3, 5, 7
                fc = 2: fb = True: bc = 1
            Case "D", "E", "F"
                fc = 2: fb = True: bc = 10
            Case "1/1/2009"
                fc = 2: fb = True: bc = 45
            Case "Long string"
                fc = 3: fb = True: bc = 1
            Case Else
                fc = 1: fb = False: bc = xlNone
        End Select
    End If
    c.Font.ColorIndex = fc
    c.Font.Bold = fb
    c.Interior.ColorIndex = bc
    c.Range("A1:D1").Interior.ColorIndex = bc
Next
End Sub

Le problème est dans le "c.La gamme" ligne. Il utilise toujours la cellule courante que "Un" et puis s'en va quatre cellules vers la droite. Je veux qu'il puisse commencer dans le "réel" de la cellule "A" de la ligne actuelle et aller à la "vraie" cellule "D" de la ligne actuelle. Fondamentalement, je veux une plage fixe et non dynamique.

Juste pour vérifier, je suppose que vous êtes inquiet au sujet de la permis à nombre de conditions, car ce seront livrés à plus que juste des utilisateurs avec xl2007?
Nous sommes à l'aide d'Excel 2003, qui semble autoriser uniquement les 3 conditions. L'utilisateur a 6 conditions de test, y compris la plage de dates qu'ils ne pouvaient pas trouver du travail dans l'assistant.

OriginalL'auteur Count Boxer | 2010-04-30