У нас есть большая матрица со списками серверов по строкам и персонами в виде столбцов. Затем мы помечаем столбец / строку знаком X, если у человека есть доступ к серверу. Довольно простой. Но с ростом матрицы становится все труднее быстро найти нужного человека с доступом. Так что я хотел бы как-то облегчить использование


В приведенном выше примере я нажал на строку "Ресурс B" и хотел бы, чтобы все столбцы, где есть "X" (Пользователь 1, Пользователь 2), были как-то выделены. Затем, если я нажму на строку "Ресурс C", "Пользователь 1" должен быть выделен.

2 ответа2

1

Похоже, это то, что вам нужно:

ссылка на сайт

1

Попробуй это.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    lastCol = Cells(1, Columns.Count).End(xlToLeft).Column
    For Each cell In Range(Cells(Target.Row, 1), Cells(Target.Row, lastCol))
        If cell = "x" Then
            cell.EntireColumn.Interior.Color = 65535
        Else
            cell.EntireColumn.Interior.Color = xlNone
        End If
    Next
End Sub

Важно: вставьте макрос в нужный объект рабочего листа, а не в объект модуля.
Или иначе Worksheet_SelectionChange не будет работать.

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