Как раскрасить столбцы в шаблоне 4/3/4/3? - PullRequest
0 голосов
/ 13 июня 2019

Layout of my calendar. Я пытаюсь раскрасить столбцы, которые соответствуют выходным (с пятницы по воскресенье) в календаре, который я создал на своем листе. По сути, шаблон будет выглядеть примерно так: 4 столбца без заливки, 3 с заливкой, 4 без заливки и т. Д.

Мне бы хотелось иметь более элегантное решение, чем то, что у меня есть, потому что мое (на данный момент) очень медленное и медленное.

Примечание: rng = диапазон моего календаря

For Each col In rng.Columns
    For Each cell In col.Cells
        If k = 5 Or k = 6 Or k = 7 Then
            cell.Interior.Color = RGB(210, 210, 210)
        ElseIf k = 8 Then
            k = 1
        End If
    Next cell
    k = k + 1
Next col

1 Ответ

0 голосов
/ 13 июня 2019

Правило условного форматирования, основанное на формуле, включающей индекс столбца и функцию MOD, должно работать хорошо.

Sub Bands_43()

    With Worksheets("sheet2")

        'reference columns B:Z
        With .Range("B:Z")

            .FormatConditions.Delete

            With .FormatConditions.Add(Type:=xlExpression, Formula1:="=AND(ROW(1:1)>3, MOD(COLUMN(A:A)-1, 7)>3)")
                .Interior.Color = RGB(210, 210, 210)
            End With

        End With

    End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...