Здравствуйте
Сделал подсветку строки и столбца через условное форматирование
Пожалуйста, помогите изменить формулу:
- если активная ячейка вне рабочего диапазона - убрать цвет заливки подсветки
- при выделении более одной ячейки - убрать цвет заливки подсветки
- выделенная строка (клик по ее номеру) - подсвечена полностью в пределах рабочего диапазона
- подсвечивать не весь столбец, а только его четвертую ячейку сверху
.FormatConditions.Delete в условии не подходит, так как не будет возможности отмены действий на листе (Ctrl+Z)
Сделал подсветку строки и столбца через условное форматирование
Код |
---|
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range 'адрес рабочего диапазона подсветки Set WorkRange = Range("A4:M35") 'если активная ячейка в рабочем диапазоне и нет УФ: добавить УФ If WorkRange.Address = Union(WorkRange, ActiveCell).Address And ActiveCell.FormatConditions.Count = 0 Then i = ActiveCell.Address(0, 0) MyFormula = "=ИЛИ(И(ЯЧЕЙКА(""строка"")=СТРОКА(" & i & ");ЯЧЕЙКА(""столбец"")<>СТОЛБЕЦ(" & i & "));И(ЯЧЕЙКА(""строка"")<>СТРОКА(" & i & ");ЯЧЕЙКА(""столбец"")=СТОЛБЕЦ(" & i & ")))" WorkRange.FormatConditions.Add Type:=xlExpression, Formula1:=MyFormula WorkRange.FormatConditions(WorkRange.FormatConditions.Count).SetFirstPriority With WorkRange.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 5296274 .TintAndShade = 0 End With WorkRange.FormatConditions(1).StopIfTrue = False End If ActiveCell.Calculate End Sub |
Код |
---|
"=ИЛИ(И(ЯЧЕЙКА(""строка"")=СТРОКА(" & i & ");ЯЧЕЙКА(""столбец"")<>СТОЛБЕЦ(" & i & "));И(ЯЧЕЙКА(""строка"")<>СТРОКА(" & i & ");ЯЧЕЙКА(""столбец"")=СТОЛБЕЦ(" & i & ")))" |
- при выделении более одной ячейки - убрать цвет заливки подсветки
- выделенная строка (клик по ее номеру) - подсвечена полностью в пределах рабочего диапазона
- подсвечивать не весь столбец, а только его четвертую ячейку сверху
.FormatConditions.Delete в условии не подходит, так как не будет возможности отмены действий на листе (Ctrl+Z)