Този урок ще покаже как да използвате 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 |