Comment faire une Boucle à Travers 5 Cellules dans une Ligne à l'Aide de VBA Excel
Je veux faire une boucle par 5 cellules, Q5 - U5.
Chaque cellule je veux vérifier si la valeur est égale à "Y", et si oui, mettez en surbrillance la cellule à rendre vert.
Comment pourrai-je le faire? Ne semble pas le comprendre.
For Each c In Range("Q5:U5").Cells
c.Select
If c.Value = Y Then
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5287936
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
Next
OriginalL'auteur blahblahblahblah | 2013-06-17
Vous devez vous connecter pour publier un commentaire.
Vous devriez essayer d'éviter de sélectionner/activer des plages: dans 99% des cas il n'est pas nécessaire (bien que l'enregistreur de macros toujours suggèrent le contraire)
OriginalL'auteur Tim Williams
Lorsque vous ne définissez pas c comme une plage, la déclaration
bien que valables, sous
c
ayant la valeur de chacune des cellules. Pour résoudre ce problème, de déclarer le type explicitement:Ensuite, quand vous faites la comparaison (comme l'a déjà souligné), l'utilisation
Remarque - si vous déclarez
à droite en haut de votre module, la comparaison sera pas sensible à la casse; sinon, un "Y" ne correspondra pas à un "y".
L'ensemble du module devrait ressembler à ceci:
Je suis sûr qu'il n'a pas besoin de faire remarquer que vous pouvez obtenir la même chose avec une mise en forme conditionnelle...
OriginalL'auteur Floris
Dans votre code,
Y
semble être une variable non définie. Pour vérifier la valeur, de le mettre entre guillemets doubles:If c.Value = "Y" Then
OriginalL'auteur mr.Reband