Configurați formatarea condiționată pentru o zonă utilizând VBA în Microsoft Excel

Anonim

În acest articol, vom crea o macro pentru a aplica formatarea condiționată în zona selectată.

Am folosit numere aleatorii ca date eșantion pentru a demonstra funcționarea macro-ului.

Macro-ul poate fi executat făcând clic pe butonul „Find Max” de pe foaia „Main”.

Explicație logică

Am creat macrocomanda „ConditionalFormat” pentru a aplica formatarea condițională zonei selectate. Această macrocomandă evidențiază celula în culoare violet, care conține valoarea maximă în zona selectată.

Înainte de a executa această macrocomandă, trebuie să selectați o zonă pe care dorește să aplice formatarea condiționată.

De exemplu, am selectat o gamă de celule de la B9 la F17 ca eșantion de date selectate.

La executarea macro-ului după selectarea zonei de eșantionare, se aplică formatarea condițională pe zona selectată și celula D16, care conține cea mai mare valoare (97), va fi evidențiată în culoare violet.

Acum, ia un alt eșantion. Am selectat intervalul de la celula B10 la F13 ca a doua zonă de eșantionare.

După selectarea celei de-a doua zone de eșantionare, faceți clic pe butonul „Find Max” pentru a rula macro-ul. Formatarea condiționată va fi aplicată pe zona selectată, iar celula C11 va fi evidențiată în culoare violet, deoarece conține valoarea maximă (92) în zona selectată.

După executarea macrocomenzii pentru două eșantioane diferite, formatarea condițională se aplică ambelor. În datele eșantionului, ambele celule C11 și D16 vor fi evidențiate în culoare violet, deoarece reprezintă valori maxime în eșantioanele respective.

Dacă valorile din oricare dintre eșantioane sunt modificate și una dintre valorile nou inserate este cea mai mare valoare, atunci celula cu acea valoare particulară va fi evidențiată.

Explicarea codului

Selection.FormatConditions.Elete

Codul de mai sus este utilizat pentru a șterge orice formatare condițională aplicată datelor selectate.

Selection.FormatConditions.Add Type: = xlExpression, Formula1: = _

"=" & Selection.Cells (1) .Adress (False, False) & "= MAX (" & Selection.Address & ")"

Codul de mai sus este utilizat pentru a adăuga o nouă formatare condițională. Tipul specifică faptul că expresia este utilizată pentru a aplica formatarea condiției. Formula expresiei este definită în Formula1.

Selection.Cells (1). Adresa (False, False)

Codul de mai sus este utilizat pentru a face referire la adresa primei celule din selecție.

"=" & Selection.Cells (1) .Adress (False, False) & "= MAX (" & Selection.Address & ")"

Codul de mai sus este utilizat pentru a compara valoarea primei celule selectate cu valoarea maximă a selecției.

Selection.FormatConditions (1) .Interior.ColorIndex = 39

Codul de mai sus este folosit pentru a atribui culoare violet celulei care îndeplinește condiția formatării.

Vă rugăm să urmați codul de mai jos

 Sub ConditionalFormat () Cu selecția „Ștergeți orice formatare condițională anterioară .FormatConditions.Delete” adăugați formatarea condițională la celula selectată .FormatConditions.Add Type: = xlExpression, Formula1: = _ "=" & Selection.Cells (1). Adresa (False); 

Dacă ți-a plăcut acest blog, distribuie-l prietenilor tăi de pe Facebook. De asemenea, ne puteți urmări pe Twitter și Facebook.

Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți munca noastră și o putem îmbunătăți. Scrieți-ne pe site-ul de e-mail