Условное форматирование - VBA
Формулировка задачи:
Помогите решить задачку.... при условном форматировании необходимо, чтобы активная ячейка находилась вверху колонки, то есть А1 или В1 или С1 и так далее.
Если вызвать макрос и ячейка будет находится ниже указанной, то поплывет все форматирование.
Что нужно коду, чтобы можно было форматировать из любого места на листе и при этом оставаться в активной ячейке? (кроме переменой, в которую задается адрес активной ячейки)
Листинг программы
- Sub Column_A_Format()
- Set Rng = Range("A3:A333")
- ac = ActiveCell.Row
- Range("a1").Select
- Rng.FormatConditions.Delete
- With Rng
- Rng.FormatConditions.Add Type:=xlExpression, Formula1:="=A1=B1"
- Rng.FormatConditions(Rng.FormatConditions.Count).SetFirstPriority
- Rng.FormatConditions(1).Interior.Color = RGB(111, 255, 177) 'GREEN
- Rng.FormatConditions(1).StopIfTrue = True
- Rng.FormatConditions.Add Type:=xlExpression, Formula1:="=A1<>B1"
- Rng.FormatConditions(Rng.FormatConditions.Count).SetFirstPriority
- Rng.FormatConditions(1).Interior.Color = RGB(255, 144, 255) 'PINK
- Rng.FormatConditions(1).StopIfTrue = True
- Rng.FormatConditions.Add Type:=xlExpression, Formula1:="=A1=0"
- Rng.FormatConditions(Rng.FormatConditions.Count).SetFirstPriority
- Rng.FormatConditions(1).Interior.Color = RGB(199, 244, 244) 'BLUE
- Rng.FormatConditions(1).StopIfTrue = True
- End With
- Range("A" & ac).Select
- End Sub
Решение задачи: «Условное форматирование»
textual
Листинг программы
- Dim Rng As Range
- Set Rng = Range("A3:A333")
- With Rng.FormatConditions
- .Delete
- With .Add(Type:=xlExpression, Formula1:="=R[-2]C=R[-2]C[1]") '"=RC=RC[1]" Может ?
- .SetFirstPriority
- .Interior.Color = RGB(111, 255, 177) 'GREEN
- .StopIfTrue = True
- End With
- End With
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д