2

Je suis un novice en vba et j'ai été confus sur la façon de formater une gamme basée sur plusieurs conditions. Par exemple, je veux mettre en évidence les cellules des colonnes (a: g) seulement si leur valeur est inférieure à 0 ET si la valeur dans leur rangée respective dans la colonne H contient la chaîne "oui" ou "non". Le code que j'ai écrit pour effectuer cette fonction ne fonctionne pas mais ressemble à ceci.Excel VBA FormatCondiitons pour plusieurs conditions

Columns("A:G").Select 
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ 
"=AND(OR($H1 = ""YES"", $H1 = ""NO""),Columns(A,G) < 0)" 
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 

With Selection.FormatConditions(1).Interior 
    .PatternColorIndex = xlAutomatic 
    .Color = 120000 
    .TintAndShade = 0 
End With 
Selection.FormatConditions(1).StopIfTrue = False 

Est-ce que quelqu'un pourrait me diriger dans la bonne direction? Merci!

+0

@lebelinoz - Il s'agit essentiellement d'un code qui a été ** nettoyé par effleurement. Je l'ai réduit au minimum ci-dessous. – Jeeped

Répondre

1

Essayez comme,

With Worksheets("sheet2").Columns("A:G") 
    .FormatConditions.Delete 
    With .FormatConditions.Add(Type:=xlExpression, _ 
     Formula1:="=AND(OR($H1=""yes"", $H1=""no""), $G1<0, $A1<0)") 
     .Interior.Color = 120000 
     .StopIfTrue = False 
    End With 
End With 

Après votre récit d'origine relisant, je crois que cela peut être une meilleure formule.

Formula1:="=AND(OR($H1=""yes"", $H1=""no""), A1<0") 
+0

Était sur le point de poster cette formule fixe :). Je suis resté bloqué sur la colonne H comme G: 0 –

+0

Merci de garder un oeil sur moi Scott! Vous ne savez jamais quand je commence à ajouter le scotch au café. – Jeeped

+2

ou peut-être le café au scotch! –