1

Как заштриховать всю строку на одном листе Excel, если в столбце "А" одной и той же строки на другом листе одной и той же книги помещен знак "X"?

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .