web-dev-qa-db-fra.com

Utilisation de VBA pour appliquer une mise en forme conditionnelle à une plage de cellules

Je voudrais savoir comment accéder à la colonne au format conditionnel intitulé "S'applique à" et saisir mes propres conditions. J'ai inclus une capture d'écran pour une meilleure référence.

Applies To column

Mon code pour ajouter la syntaxe au formatage conditionnel est,

With Selection
  .FormatConditions.Delete
  .FormatConditions.Add Type:=xlExpression, Formula1:="=" & c.Address & "=TRUE"
  .
  .
  .
End With

Je crois que le code devrait être ajouté ici, mais je ne trouve tout simplement pas la syntaxe correcte.

Mise à jour:

J'ai mis à jour mon code pour ressembler à ceci,

With Range(Cells(c.Row, "B"), Cells(c.Row, "N"))
  .FormatConditions.Delete
  .FormatConditions.Add Type:=xlExpression, Formula1:="=" & c.Address
  .FormatConditions(1).Interior.ColorIndex = 15 'change for other color when ticked
End With

Cela rendrait essentiellement les lignes d'une plage spécifique pertinentes à l'endroit où j'ai placé la case à cocher, si leur couleur d'arrière-plan était modifiée. La position de la case à cocher est représentée par c.Adresse où "c" contient l'emplacement de la cellule que j'ai sélectionnée pour placer ma case à cocher.

9
winhung

Vous devez faire quelque chose comme ça (Range("A25") est exactement ce que vous allez trouver):

With Range("A25")
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, _
            Formula1:="=" & c.Address 
        '.
        '.
        '.
End With

et il n'est pas nécessaire d'écrire "=" & c.Address & "=TRUE", vous pouvez utiliser simplement "=" & c.Address.

8
Dmitry Pavliv

Le "s'applique à" est inhérent à la sélection sur laquelle le bloc With est exécuté.

5
teylyn