У меня есть код, который добавляет два правила условного форматирования к листу 4 (столбец A2: A и последняя строка), и теперь я пытаюсь выделить активную строку до последнего столбца (например, столбец B: E активный ряд). В настоящее время у меня есть этот код:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
Dim lr As Long
lr = Range("A" & Sheet4.rows.Count).End(xlUp).Row
With Range("A2:A" & lr)
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Operator:=xlExpression, Formula1:="=COUNTIF('Test 2'!$A:$A,A2)>0"
.FormatConditions(1).Interior.Color = RGB(198, 239, 206)
.FormatConditions.Add Type:=xlExpression, Operator:=xlExpression, Formula1:="=COUNTIF('Test 2'!$A:$A,A2)=0"
.FormatConditions(2).Interior.Color = RGB(255, 199, 206)
End With
End If
End Sub
У меня есть два возможных решения
(1) Добавить условное форматирование к активному Строка ПОСЛЕ столбца A (Так, например, B: E активной строки. Я использую этот код после End If
в приведенном выше коде.
If Application.CutCopyMode = False Then
Application.Calculate
End If
With Target
.FormatConditions.Add Type:=xlExpression, Operator:=xlExpression, Formula1:="=CELL("row")=ROW()"
.FormatConditions(1).Interior.Color = RGB(220, 239, 206)
End With
Кажется, я получаю ошибку с формулой для условного формата: .FormatConditions.Add Type:=xlExpression, Operator:=xlExpression, Formula1:="=CELL("row")=ROW()"
(2) Я добавил строку для определения имени столбца A в активной строке для «MyRange» для другой цели, поэтому я также попытался добавить это код вместо форматирования условия:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWorkbook.Names.Add Name:="MyRange", RefersToR1C1:=Range("A" & (ActiveCell.Row))
Range("A" & (ActiveCell.Row)).Select 'Always Selects Column A depending on the Active Row selected
Range("B:E" & (ActiveCell.Row)).Interior.Color = RGB(243, 243, 123)
End Sub
Там ошибка для второго решения с Range("B:E" & (ActiveCell.Row)).Interior.Color = RGB(243, 243, 123)
Вывод кода должен выглядеть следующим образом