VBA Highlight Cell

Този урок ще покаже как да използвате VBA, за да маркирате клетка или диапазон от клетки.

Условното форматиране е един от начините за подчертаване на клетки в Excel. Можем също да използваме VBA за извършване на маркиране на клетки.

Маркирайте клетка

За да маркираме клетка във VBA, можем да използваме простата процедура, както е показано по -долу.

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

Маркирайте диапазон от клетки

По същия начин можем да изберем диапазон от клетки и да маркираме всички клетки в диапазона.

1234 Sub HighlightRange ()Обхват ("A1: A10"). ИзберетеSelection.Interior.Color = vbRedEnd Sub

Маркирайте клетки въз основа на стойността на клетката

За да добавим условие за маркиране на клетка, можем да използваме оператор IF, за да подчертаем клетката, ако стойността на клетката е над определена стойност, в този случай по -голяма от 10.

12345 Sub HightlightCell_1Ако ActiveCell.Value> 10 тогаваActiveCell.Interior.Color = vbRedКрай АкоEnd Sub

Маркирайте диапазон от клетки въз основа на стойността на клетката

За да проверим стойностите в диапазон от клетки, ще трябва да преминем през всяка клетка, да установим нейната стойност и след това да маркираме клетката съответно. В примера по -долу първо ще установим, че стойността, държана в диапазона, е число, и след това ще тестваме дали това число е по -голямо от 10.

12345678910 Sub HighlightRangeOfCells ()Dim rng As RangeЗа всеки обхват в обхвата ("A1: A10")Ако IsNumeric (rng.Value) ТогаваАко rng.Value> 10 Тогаваrng.Interior.Color = vbRedКрай АкоКрай АкоСледващ rngEnd Sub

Маркирайте клетка с условно форматиране

Можем също да използваме VBA, за да приложим условно форматиране към клетка, за да подчертаем клетката. В примера по -долу условното форматиране ще бъде приложено към всяка клетка в диапазона. Както в горния пример, първо тестваме дали клетката има цифрова стойност в нея и след това прилагаме условното форматиране.

12345678910 Sub SetConditionalFormatting ()Dim rng As RangeЗа всеки обхват в обхвата ("A1: A10")Ако IsNumeric (rng.Value) Тогаваrng.FormatConditions.Add Тип: = xlCellValue, Оператор: = xlGreater, Формула1: = "= 10"rng.FormatConditions (1) .Interior.Color = vbRedrng.FormatConditions (1) .StopIfTrue = FalseКрай АкоСледващ rngEnd Sub

Маркирайте клетка при промяна на избора

Можем да направим подчертаването на клетка динамично, когато показалецът на клетката се движи в текущия работен лист, като използваме събитието Worksheet_Change. В примера по -долу всички маркировки в листа ще бъдат премахнати (с изключение на тези, извършени чрез условно форматиране), а активната клетка ще бъде маркирана в червено (ColorIndex = 3).

1234 Частен под работен лист_SelectionChange (ByVal Target As Range)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNoneTarget.Interior.ColorIndex = 3End Sub
wave wave wave wave wave