Acest tutorial va demonstra cum să utilizați VBA pentru a evidenția o celulă sau o gamă de celule.
Formatarea condiționată este o modalitate de a evidenția celulele în Excel. De asemenea, putem folosi VBA pentru a efectua evidențierea celulei.
Evidențiați o celulă
Pentru a evidenția o celulă în VBA, putem folosi procedura simplă așa cum se arată mai jos.
123 | Sub HighlightCell ()ActiveCell.Interior.Color = vbRedSfârșitul Sub |
Evidențiați o gamă de celule
În mod similar, putem selecta o gamă de celule și putem evidenția toate celulele din gamă.
1234 | Sub HighlightRange ()Gama ("A1: A10"). SelectațiSelection.Interior.Color = vbRedSfârșitul Sub |
Evidențiați celulele pe baza valorii celulei
Pentru a adăuga o condiție pentru evidențierea unei celule, putem folosi o instrucțiune IF pentru a evidenția celula dacă valoarea celulei este peste o anumită valoare, în acest caz mai mare de 10.
12345 | Sub HightlightCell_1Dacă ActiveCell.Value> 10 atunciActiveCell.Interior.Color = vbRedEnd IfSfârșitul Sub |
Evidențiați o gamă de celule pe baza valorii celulei
Pentru a verifica valorile dintr-o gamă de celule, ar trebui să parcurgem fiecare celulă, să stabilim valoarea și apoi să evidențiem celula în consecință. În exemplul de mai jos, vom stabili mai întâi că valoarea deținută în interval este un număr și apoi vom testa dacă acest număr este mai mare de 10.
12345678910 | Sub HighlightRangeOfCells ()Dim rng As RangePentru fiecare rng din interval ("A1: A10")Dacă IsNumeric (rng.Value) AtunciDacă rng.Value> 10 Apoirng.Interior.Color = vbRedEnd IfEnd IfUrmătorul rngSfârșitul Sub |
Evidențiați o celulă cu formatare condiționată
De asemenea, putem folosi VBA pentru a aplica formatarea condițională unei celule pentru a evidenția celula. În exemplul de mai jos, formatarea condiționată va fi aplicată fiecărei celule din interval. Ca și în exemplul de mai sus, testăm mai întâi că celula are o valoare numerică și apoi aplicăm formatarea condițională.
12345678910 | Sub SetConditionalFormatting ()Dim rng As RangePentru fiecare rng din interval ("A1: A10")Dacă IsNumeric (rng.Value) Atuncirng.FormatConditions.Add Type: = xlCellValue, Operator: = xlGreater, Formula1: = "= 10"rng.FormatConditions (1) .Interior.Color = vbRedrng.FormatConditions (1) .StopIfTrue = FalseEnd IfUrmătorul rngSfârșitul Sub |
Evidențiați o celulă atunci când selecția se schimbă
Putem face evidențierea unei celule dinamică atunci când indicatorul de celulă se deplasează în foaia de lucru curentă utilizând Evenimentul Foaie de lucru_Cambiere. În exemplul de mai jos, toate evidențierile din foaie vor fi eliminate (cu excepția celor realizate prin formatare condiționată), iar celula activă va fi evidențiată în roșu (ColorIndex = 3).
1234 | Private Sub Worksheet_SelectionChange (ByVal Target As Range)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNoneTarget.Interior.ColorIndex = 3Sfârșitul Sub |