VBA Highlight Cell

Denna handledning visar hur du använder VBA för att markera en cell eller ett cellområde.

Villkorlig formatering är ett sätt att markera celler i Excel. Vi kan också använda VBA för att utföra cellmarkering.

Markera en cell

För att markera en cell i VBA kan vi använda den enkla proceduren som visas nedan.

123 Sub HighlightCell ()ActiveCell.Interior.Color = vbRedAvsluta Sub

Markera ett antal celler

På samma sätt kan vi välja ett cellintervall och markera alla celler i intervallet.

1234 Sub HighlightRange ()Område ("A1: A10"). VäljSelection.Interior.Color = vbRedAvsluta Sub

Markera celler baserade på cellvärde

För att lägga till ett villkor för att markera en cell kan vi använda en IF -sats för att markera cellen om cellens värde är över ett visst värde, i detta fall större än 10.

12345 Sub HightlightCell_1Om ActiveCell.Value> 10 dåActiveCell.Interior.Color = vbRedAvsluta omAvsluta Sub

Markera ett antal celler baserat på cellvärde

För att kontrollera värdena i ett cellintervall, skulle vi behöva gå igenom varje cell, fastställa dess värde och sedan markera cellen därefter. I exemplet nedan kommer vi först att fastställa att värdet i intervallet är ett tal och sedan testa om det talet är större än 10.

12345678910 Sub HighlightRangeOfCells ()Dim rng As RangeFör varje rng In Range ("A1: A10")Om IsNumeric (rng.Value) DåOm rng.Value> 10 Dårng.Interior.Color = vbRedAvsluta omAvsluta omNästa rngAvsluta Sub

Markera en cell med villkorlig formatering

Vi kan också använda VBA för att tillämpa villkorlig formatering på en cell för att markera cellen. I exemplet nedan kommer villkorlig formatering att tillämpas på varje cell i intervallet. Som i exemplet ovan testar vi först att cellen har ett numeriskt värde i den och applicerar sedan den villkorliga formateringen.

12345678910 Sub SetConditionalFormatting ()Dim rng As RangeFör varje rng In Range ("A1: A10")Om IsNumeric (rng.Value) Dårng.FormatConditions.Add Type: = xlCellValue, Operator: = xlGreater, Formula1: = "= 10"rng.FormatConditions (1) .Interior.Color = vbRedrng.FormatConditions (1) .StopIfTrue = FalsktAvsluta omNästa rngAvsluta Sub

Markera en cell när urvalet ändras

Vi kan göra markeringen av en cell dynamisk när cellpekaren rör sig i det aktuella kalkylbladet med hjälp av Arbetsbladet_ändring. I exemplet nedan kommer all markering i arket att tas bort (utom de som görs genom villkorlig formatering) och aktivcellen markeras röd (ColorIndex = 3).

1234 Private Sub Worksheet_SelectionChange (ByVal Target As Range)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNoneTarget.Interior.ColorIndex = 3Avsluta Sub
wave wave wave wave wave