Denne vejledning viser, hvordan du bruger VBA til at fremhæve en celle eller et cellecelle.
Betinget formatering er en måde at fremhæve celler i Excel. Vi kan også bruge VBA til at udføre cellefremhævelse.
Fremhæv en celle
For at markere en celle i VBA kan vi bruge den enkle procedure som vist nedenfor.
123 | Sub HighlightCell ()ActiveCell.Interior.Color = vbRedAfslut Sub |
Fremhæv en række celler
På samme måde kan vi vælge en række celler og fremhæve alle cellerne i området.
1234 | Sub HighlightRange ()Område ("A1: A10"). VælgSelection.Interior.Color = vbRedAfslut Sub |
Fremhæv celler baseret på celleværdi
For at tilføje en betingelse for at markere en celle kan vi bruge en IF -sætning til at fremhæve cellen, hvis cellens værdi er over en bestemt værdi, i dette tilfælde større end 10.
12345 | Sub HightlightCell_1Hvis ActiveCell.Value> 10 derefterActiveCell.Interior.Color = vbRedAfslut HvisAfslut Sub |
Fremhæv en række celler baseret på celleværdi
For at kontrollere værdierne i en række celler skal vi gå gennem hver celle, fastlægge dens værdi og derefter markere cellen i overensstemmelse hermed. I eksemplet herunder vil vi først fastslå, at værdien, der er i intervallet, er et tal og derefter teste for at se, om det tal er større end 10.
12345678910 | Sub HighlightRangeOfCells ()Dim rng Som områdeFor hver rng In Range ("A1: A10")Hvis IsNumeric (rng.Value) SåHvis rng.Value> 10 Herefterrng.Interior.Color = vbRedAfslut HvisAfslut HvisNæste rngAfslut Sub |
Fremhæv en celle med betinget formatering
Vi kan også bruge VBA til at anvende betinget formatering på en celle for at markere cellen. I eksemplet herunder vil betinget formatering blive anvendt på hver celle i området. Som i eksemplet ovenfor tester vi først, at cellen har en numerisk værdi i den, og anvender derefter den betingede formatering.
12345678910 | Sub SetConditionalFormatting ()Dim rng Som områdeFor hver rng In Range ("A1: A10")Hvis IsNumeric (rng.Value) Sårng.FormatConditions.Add Type: = xlCellValue, Operator: = xlGreater, Formula1: = "= 10"rng.FormatConditions (1) .Interior.Color = vbRedrng.FormatConditions (1) .StopIfTrue = FalskAfslut HvisNæste rngAfslut Sub |
Fremhæv en celle, når markeringen ændres
Vi kan gøre fremhævningen af en celle dynamisk, når cellepekeren bevæger sig i det aktuelle regneark ved hjælp af hændelsen Worksheet_Change. I eksemplet herunder vil alle fremhævninger i arket blive fjernet (undtagen dem, der udføres ved betinget formatering), og aktivcellen vil blive markeret rød (ColorIndex = 3).
1234 | Private Sub Worksheet_SelectionChange (ByVal Target As Range)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNoneTarget.Interior.ColorIndex = 3Afslut Sub |