Достаточно долго игрался с дизайном документов по части цветовых решений.
Потом все это надоело и решил что в большинстве случаев достаточно выделить сущности и итоги.
Не без помощи местных шаманов узнал кодирование цветов у всемогущего Excel’я
Написал простенький макрос. Нашел его очень удобным, вот и решил поделиться.
Выделяем данные которые нужно выделить (извините за тафтологию) и запускаем его.
Макрос проходится по ячейкам и делает заливку немного темнее при этом максимально сохраняет оттенок цвета.
Повторными прогонами можно затемнить еще и еще.
Отмена не предусмотрена.
Константу darker (0.9) можно поменять на свое усмотрение, даже увеличить выше единицы (будет осветлять).
Однако, не увлекайтесь. Миллион миллион алых, розовых, голубых и синих существенно утяжелят документ.
Потом все это надоело и решил что в большинстве случаев достаточно выделить сущности и итоги.
Не без помощи местных шаманов узнал кодирование цветов у всемогущего Excel’я
Скрытый текст |
|---|
| К сожалению вариант предложеный Михаилом не сработал ибо остаток от деления страрших цифр (синего) сбивают значение младших (зеленого). Аналогично пара зеленый, красный. |
Написал простенький макрос. Нашел его очень удобным, вот и решил поделиться.
Выделяем данные которые нужно выделить (извините за тафтологию) и запускаем его.
Макрос проходится по ячейкам и делает заливку немного темнее при этом максимально сохраняет оттенок цвета.
Повторными прогонами можно затемнить еще и еще.
Отмена не предусмотрена.
Константу darker (0.9) можно поменять на свое усмотрение, даже увеличить выше единицы (будет осветлять).
| Код |
|---|
Sub darker_X_percent()
Const darker = 0.9
If MsgBox("Сделать цвет ячеек немного темнее? Количество обрабатываемых ячеек " & Selection.Count & ". Вы уверены?", vbQuestion + vbDefaultButton2 + vbYesNo, "Внимание") = vbYes Then
Dim change_area As Range
Application.StatusBar = ("Проводится замена цвета в " & Selection.Count & " ячейках...")
For Each change_area In Selection
Colour = change_area.Interior.Color
B = Int(Colour / 65536)
G = Int((Colour - B * 65536) / 256)
R = (Colour - B * 65536 - G * 256)
' +0.5 чтобы при отбрасывании дробной части округлить по стандартным правилам
B = Int(B * darker + 0.5)
G = Int(G * darker + 0.5)
R = Int(R * darker + 0.5)
Colour = R + G * 256 + B * 65536
change_area.Interior.Color = Colour
Next
MsgBox "Замена произведена.", vbInformation + vbOKOnly, "Ура!"
Application.StatusBar = False
End If
End Sub |
Однако, не увлекайтесь. Миллион миллион алых, розовых, голубых и синих существенно утяжелят документ.