Denne opplæringen vil demonstrere hvordan du bruker VBA til å markere en celle eller et celleområde.
Betinget formatering er en måte å markere celler i Excel. Vi kan også bruke VBA til å utføre markering av celler.
Marker en celle
For å markere en celle i VBA, kan vi bruke den enkle fremgangsmåten som vist nedenfor.
123 | Sub HighlightCell ()ActiveCell.Interior.Color = vbRedSlutt Sub |
Fremhev en rekke celler
På samme måte kan vi velge et celleområde og markere alle cellene i området.
1234 | Sub HighlightRange ()Område ("A1: A10"). VelgSelection.Interior.Color = vbRedSlutt Sub |
Uthev celler basert på celleverdi
For å legge til en betingelse for å markere en celle, kan vi bruke en IF -setning til å markere cellen hvis verdien til cellen er over en viss verdi, i dette tilfellet større enn 10.
12345 | Sub HightlightCell_1Hvis ActiveCell.Value> 10 daActiveCell.Interior.Color = vbRedSlutt omSlutt Sub |
Fremhev en rekke celler basert på celleverdi
For å kontrollere verdiene i et celleområde, må vi gå gjennom hver celle, fastslå verdien og deretter markere cellen deretter. I eksemplet nedenfor vil vi først fastslå at verdien i området er et tall, og deretter teste for å se om det tallet er større enn 10.
12345678910 | Sub HighlightRangeOfCells ()Dim rng As RangeFor hver rng In Range ("A1: A10")If IsNumeric (rng.Value) DaHvis rng.Value> 10 Darng.Interior.Color = vbRedSlutt omSlutt omNeste rngSlutt Sub |
Marker en celle med betinget formatering
Vi kan også bruke VBA til å bruke betinget formatering på en celle for å markere cellen. I eksemplet nedenfor vil betinget formatering bli brukt på hver celle i området. Som i eksemplet ovenfor tester vi først at cellen har en numerisk verdi i den, og bruker deretter den betingede formateringen.
12345678910 | Sub SetConditionalFormatting ()Dim rng As RangeFor hver rng In Range ("A1: A10")If IsNumeric (rng.Value) Darng.FormatConditions.Add Type: = xlCellValue, Operator: = xlGreater, Formula1: = "= 10"rng.FormatConditions (1) .Interior.Color = vbRedrng.FormatConditions (1) .StopIfTrue = FalseSlutt omNeste rngSlutt Sub |
Merk en celle når utvalget endres
Vi kan gjøre fremhevingen av en celle dynamisk når cellepekeren beveger seg i det gjeldende regnearket ved å bruke Worksheet_Change -hendelsen. I eksemplet nedenfor vil all utheving i arket bli fjernet (bortsett fra de som er gjort ved betinget formatering), og aktivitetscellen vil bli markert rød (ColorIndex = 3).
1234 | Private Sub Worksheet_SelectionChange (ByVal Target As Range)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNoneTarget.Interior.ColorIndex = 3Slutt Sub |