Excel VBA Макросы. Выделение диапазона в таблице по условию.

Автор Посетитель, 08 мая 2021, 11:57

Посетитель

Имеется таблица в диапазоне A4:O2000.
В ней жирными линиями ограничены диапазоны по 4 строки.

Если выделена любая ячейка в каком-либо диапазоне, как выделить и закрасить этот диапазон между жирными линиями (в каждом диапазоне по 4 строки)?

Администратор

Чтобы закрасить фрагмент, его не обязательно выделять.

Макрос
Sub Макрос()
   
    Dim Верх As Long, i As Long
   
   
    '1. Поиск верха группы.
        ' Двигаемся вверх от текущей строки до первой строки.
    For i = ActiveCell.Row To 1 Step -1
        If Cells(i, "A").Borders(xlEdgeTop).Weight = -4138 Then
            Верх = i
            Exit For
        End If
    Next i
   
    '2. Обрабатываем фрагмент.
    With Rows(Верх).Resize(4).Columns("A:O")
        '* Выделение фрагмента.
        .Select
        '* Закраска фрагмента.
        .Interior.Color = 14395790
    End With
   
End Sub
[свернуть]