В этом руководстве будет показано, как использовать VBA для выделения ячейки или диапазона ячеек.
Условное форматирование - это один из способов выделения ячеек в Excel. Мы также можем использовать VBA для выделения ячеек.
Выделите ячейку
Чтобы выделить ячейку в VBA, мы можем использовать простую процедуру, как показано ниже.
123 | Sub HighlightCell ()ActiveCell.Interior.Color = vbRedКонец подписки |
Выделите диапазон ячеек
Точно так же мы можем выбрать диапазон ячеек и выделить все ячейки в диапазоне.
1234 | Sub HighlightRange ()Диапазон ("A1: A10"). ВыберитеSelection.Interior.Color = vbRedКонец подписки |
Выделение ячеек на основе значения ячейки
Чтобы добавить условие для выделения ячейки, мы можем использовать оператор IF для выделения ячейки, если значение ячейки выше определенного значения, в данном случае больше 10.
12345 | Sub HightlightCell_1Если ActiveCell.Value> 10, тогдаActiveCell.Interior.Color = vbRedКонец, еслиКонец подписки |
Выделите диапазон ячеек на основе значения ячейки
Чтобы проверить значения в диапазоне ячеек, нам нужно перебрать каждую ячейку, установить ее значение и затем выделить ячейку соответствующим образом. В приведенном ниже примере мы сначала установим, что значение, содержащееся в диапазоне, является числом, а затем проверим, больше ли это число 10.
12345678910 | Sub HighlightRangeOfCells ()Dim rng As RangeДля каждого диапазона в диапазоне ("A1: A10")Если IsNumeric (rng.Value), тоЕсли rng.Value> 10 Тогдаrng.Interior.Color = vbRedКонец, еслиКонец, еслиСледующий номерКонец подписки |
Выделите ячейку с помощью условного форматирования
Мы также можем использовать VBA для применения условного форматирования к ячейке, чтобы выделить ячейку. В приведенном ниже примере условное форматирование будет применено к каждой ячейке в диапазоне. Как и в приведенном выше примере, мы сначала проверяем, что ячейка содержит числовое значение, а затем применяем условное форматирование.
12345678910 | Sub SetConditionalFormatting ()Dim rng As RangeДля каждого диапазона в диапазоне ("A1: A10")Если IsNumeric (rng.Value), тоrng.FormatConditions.Add Тип: = xlCellValue, оператор: = xlGreater, Formula1: = "= 10"rng.FormatConditions (1) .Interior.Color = vbRedrng.FormatConditions (1) .StopIfTrue = FalseКонец, еслиСледующий номерКонец подписки |
Выделите ячейку при изменении выделения
Мы можем сделать выделение ячейки динамическим, когда указатель ячейки перемещается по текущему листу, используя событие Worksheet_Change. В приведенном ниже примере все выделения на листе будут удалены (кроме тех, которые выполняются условным форматированием), а активная ячейка будет выделена красным цветом (ColorIndex = 3).
1234 | Private Sub Worksheet_SelectionChange (значение ByVal как диапазон)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNoneTarget.Interior.ColorIndex = 3Конец подписки |