Как заштриховать всю строку на одном листе Excel, если в столбце "А" одной и той же строки на другом листе одной и той же книги помещен знак "X"?
2 ответа
0
Попробуйте этот маленький макрос:
Sub ShadyRow()
Dim s1 As Worksheet, s2 As Worksheet, N As Long
Dim i As Long
Set s1 = Sheets("Sheet1")
Set s2 = Sheets("Sheet2")
N = s1.Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To N
If s1.Cells(i, "A").Value = "X" Then
s2.Cells(i, "A").EntireRow.Interior.Color = RGB(100, 100, 100)
End If
Next i
End Sub
0
Ответ
Примените следующее « Использовать формулу, чтобы определить, какие ячейки форматировать ». Условное форматирование для всех ячеек на Tab 2 для которых вы хотите применить заливку:
=INDIRECT("'Sheet 1'!R"&ROW()&"C1",FALSE)="X"
Замените Sheet 1 какое имя листа используется для Tab 1 , и определите форматирование по своему усмотрению в диалоговом окне «Условное форматирование».
Заметки
- Одинарные кавычки вокруг имени листа требуются только в том случае, если в имени листа есть один или несколько пробелов.
- Аргумент
FALSEдляINDIRECTуказывает ему использовать ссылки в стиле R1C1, а не ссылки в стиле A1. - Используя соответствующую конструкцию конкатенации строк, можно легко указать формулу условного форматирования для ячейки на этом или другом листе, чтобы пользователь мог изменить лист, определяющий выделение (здесь приведена
Tab 1), отредактировав соответствующую ячейку, содержащую имя целевого листа.
