MISE À JOURVBA Mise en forme conditionnelle avec « ET » équation
Nous vous remercions de l'aide. J'ai mis à jour mon code pour ressembler à:
Sub AddColor()
With Sheet1.Range("$T$3:$T$3600").FormatConditions
.Delete
With .Add(xlExpression, Formula1:="=AND(($Q3+7)<=TODAY(),$Q3>0,$T3="""")")
.Interior.Color = RGB(0, 176, 240)
.StopIfTrue = False
End With
With .Add(xlExpression, Formula2:="=AND(($Q3+14)<=TODAY(),$Q3>0,$T3="""")")
.Interior.Color = RGB(255, 0, 0)
.StopIfTrue = True
End With
End With
With Sheet1.Range("$U$3:$U$3600").FormatConditions
.Delete
With .Add(xlExpression, Formula1:="=AND(($S3-1)<=TODAY(),$S3>0,$U3="""")")
.Interior.Color = RGB(0, 176, 240)
.StopIfTrue = False
End With
With .Add(xlExpression, Formula2:="=AND(($T3+1)<=TODAY(),$U3="""",$T3>0)")
.Interior.Color = RGB(255, 0, 0)
.StopIfTrue = True
End With
End With
'Code continues
Je reçois maintenant une erreur « Argument non facultatif » et il semble se référer à ma ligne « formula2 » sur la première série de déclarations. Je ne suis pas sûr de l'argument qui manque, car il fonctionne correctement pour la première déclaration. J'ai essayé de sauter la deuxième formule et il a la même erreur pour le prochain ensemble d'arguments.
C'est probablement quelque chose de simple, mais toute aide est appréciée!
MISE À JOUR
Je suis en train d'ajouter le formatage conditionnel par VBA, mais je suis en cours d'exécution dans quelques problèmes avec mon code. Je voudrais pouvoir le faire à travers la fonction de mise en forme conditionnelle, mais les données qui vont être importées nécessitent que je divise les colonnes, ce qui provoque le changement des cellules de référence, mais le formatage conditionnel ne semble pas le garder comme je veux c'est (longue histoire). Quoi qu'il en soit, j'en ai environ 10 de plus pour mettre en forme l'information dans les colonnes correspondantes et j'essaie juste de comprendre pourquoi je continue à recevoir une erreur. Voici ce que j'ai:
Sub AddColor()
With Sheet1.Range("$T$3:$T$3600")
.FormatConditions.Add xlExpression, Formula1:="=AND(($Q3+7)
<=TODAY(),$Q3>0,$T3="")"
.FormatConditions(1).Interior.Color = RGB(0, 176, 240)
.FormatConditions(1).StopIfTrue = False
.FormatConditions.Add xlExpression, Formula2:="=AND(($Q3+14)
<=TODAY(),$Q3>0,$T3=0)"
.FormatConditions(2).Interior.Color = RGB(255, 0, 0)
.FormatConditions(2).StopIfTrue = True
End With
With Sheet1.Range("$U$3:$U$3600")
.FormatConditions.Add xlExpression, Formula1 = "=AND(($S3-1
<=TODAY(),$S3>0,$U3="")"
.FormatConditions(3).Interior.Color = RGB(0, 176, 240)
.FormatConditions(3).StopIfTrue = False
.FormatConditions.Add xlExpression, Formula2 = "=AND(($T3+1)
<=TODAY(),$U3="",$T3>0)"
.FormatConditions(4).Interior.Color = RGB(255, 0, 0)
.FormatConditions(4).StopIfTrue = True
End With
(la partie < = TODAY() est une continuation i mon code, juste sauté à la ligne suivante en raison du formatage.) Qu'est-ce que je fais mal? Toute assistance sera grandement appréciée!
J'ai répondu à ma propre question.Le problème que j'ai eu, c'est qu'après chaque "End With", il veut que la prochaine formule soit encore étiquetée "Formula1" au lieu d'utiliser "Formula2" dans la même gamme. – Charlie