У меня есть электронная таблица, в которой мне нужно изменить форматирование в зависимости от дня недели. Я также хочу, чтобы форматирование чередовалось по цветам, чтобы помочь разбить его. Это должно выглядеть следующим образом:
У меня есть код, который форматирует, задает c диапазоны столбцов для форматирования чередующимися цветами:
'Colour Sundays alternate light grey / dark grey
For Each cell In Range("AX1:AX" & lastRow)
If cell.Row Mod 2 = 1 Then
cell.Interior.Color = RGB(217, 217, 217)
Else
cell.Interior.Color = RGB(242, 242, 242)
End If
Next cell
Однако, это не особенно agile, так как я хочу иметь возможность запускать этот отчет в течение любого количества недель (до года), и жесткое кодирование, определяющее c диапазоны ячеек, будет означать повторяя один и тот же код 52 раза.
У меня также есть следующий код, который я использовал для ширины ячейки:
Dim Range1 As Range
Dim Cell1 As Range
Set Range1 = Range("O1:QA1")
For Each Cell1 In Range1
If Cell1 Like "*Mon*" Or Cell1 Like "*Tue*" Then
Cell1.ColumnWidth = 7.86
End If
Next Cell1
For Each Cell1 In Range1
If Cell1 Like "*Wed*" Or Cell1 Like "*Thu*" Then
Cell1.ColumnWidth = 7.86
End If
Next Cell1
For Each Cell1 In Range1
If Cell1 Like "*Fri*" Or Cell1 Like "*Sat*" Then
Cell1.ColumnWidth = 7.86
End If
Next Cell1
, который я использую для кодирования ширины столбца (это не Это тоже замечательно - я не могу понять, как сделать так, чтобы он учитывал все дни недели в одном и том же разделе кода, но он работает, поэтому я с радостью оставлю это).
Есть ли способ объедините этот код так, чтобы он читал: Если ячейка в строке 1 содержит Mon, Tue, Wed, Thu, Fri, Sat, изменить ширину столбца и формат чередующимися цветами? И то же самое по воскресеньям и др. c.
Заранее спасибо.