Comment faire Mise en forme conditionnelle à l’aide VBA dans Microsoft Excel
Peignons un tableau de Monalisa et laissons Picasso derrière en utilisant VBA.
Prêt, préparez-vous… Attendez! Attendre! Calmez-vous. Nous allons juste utiliser VBA pour faire du formatage conditionnel et c’est plus facile qu’une peinture ça? oiseau en forme.
La syntaxe générique du formatage conditionnel VBA
If condition than Range(range).Interior.ColorIndex= 1-56
Vérifiez votre condition à la condition, puis formatez votre plage à l’aide de la propriété .iteriour.colorindex de l’objet Range. L’index des couleurs comporte 56 couleurs. Allez jouer Holi avec eux et explorez quel numéro contient quelle couleur.
Maintenant, comprenons-le avec un exemple ==== Exemple: Code VBA pour formater les cellules de manière conditionnelle
Donc, c’est le scénario, nous avons une liste de personnes aléatoires avec leur âge et leur groupe d’âge.
Comme il est facile de déterminer le groupe d’âge d’une personne en regardant simplement ses noms.
Maintenant pour ce faire, je veux au format VBA Nom RED s’il est adulte, JAUNE s’il est adolescent et VERT s’il est KID et rien si la cellule est vide.
Sub FormatUsingVBA() Dim rng As Range Dim lastRow As Long lastRow = Cells(Rows.Count, 3).End(xlUp).Row Set rng = Range("C2:C" & lastRow)For Each cell In rng If cell.Value2 = "Adult" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 3 ElseIf cell.Value2 = "KID" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 4 ElseIf cell.Value2 = "Teenager" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 6 Else Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 0 End If Next cell End Sub
Pour exécuter ce code directement à partir de la feuille, j’ai dessiné un bouton sur la même feuille et lui ai attribué cette macro. Désormais, chaque fois que vous cliquerez sur le bouton «Format», votre code s’exécutera et mettra à jour les cellules de nom avec une couleur en fonction de leur groupe d’âge. Comment? Découvrons-le.
Code Explication:
Dim rng As RangeDim lastRow As LongThese two lines are variable declarations. rng for Range that holds the age group and lastRow to get last nonblank row number.
lastRow = Cells(Rows.Count, 3).End(xlUp).RowThis line returns last row number in lastRow Variable.
Set rng = Range("C2:C" & lastRow)This line sets the range starting from C2 and to the last row. It makes your code dynamic. You add new rows to your data and it will detect and will store in new range in rng variable.
For Each cell In rng If cell.Value2 = "Adult" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 3 ElseIf cell.Value2 = "KID" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 4 ElseIf cell.Value2 = "Teenager" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 6 Else Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 0 End If Next cell
C’est le segment principal.
For Each cell In rng
La première ligne exécute la boucle vers toutes les cellules de votre plage. Si cell.Value2 = « Adult » Then La ligne suivante est un contrôle de condition. Il vérifie si la valeur actuelle de la cellule est Adulte ou non.
Si oui, alors la ligne suivante s’exécute, sinon elle passe à l’instruction if suivante.Range (cell.Address) .Offset (0, -2) .Interior.ColorIndex = 3 Maintenant, si la condition IF renvoie TRUE, cette ligne définit la couleur de la cellule sur ColorIndex 3 qui est pour RED.
De même, les instructions IF suivantes s’exécutent et prennent les mesures spécifiées.
Donc oui, vous pouvez formater les plages de manière conditionnelle en utilisant VBA. La méthode Interior de l’objet Range contrôle de nombreuses autres propriétés de mise en forme. Vous devriez jouer avec eux, cela ne fera aucun mal mais vous apprendrez certainement. Et si vous rencontrez des difficultés que ce pour quoi je suis ici. Posez vos questions dans la section commentaires.
Télécharger le fichier *
`link: /wp-content-uploads-2013-07-Conditional-Formatting-using-VBA-in-Microsoft-Excel.xls [__ Mise en forme conditionnelle à l’aide de VBA dans Microsoft Excel]
Articles populaires:
link: / formulas-and-functions-introduction-of-vlookup-function [Comment utiliser la fonction RECHERCHEV dans Excel]
link: / tips-countif-in-microsoft-excel [Comment utiliser la fonction COUNTIF dans Excel]
link: / excel-formule-et-fonction-excel-sumif-function [Comment utiliser la fonction SUMIF dans Excel]