Как заштриховать всю строку на одном листе 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
), отредактировав соответствующую ячейку, содержащую имя целевого листа.