Добавление узора (штрихового рисунка) в ячейку (диапазон) и присвоение узору цвета с помощью кода VBA Excel. Константы XlPattern и XlThemeColor.
Добавление узора в ячейку
Синтаксис добавления узора
Добавление узора в ячейку (диапазон ячеек) с цветом по умолчанию:
1 |
Range.Interior.Pattern = ConstantXlPattern |
ConstantXlPattern – константа из коллекции XlPattern, задающая шаблон узора (штрихового рисунка).
Свойство Interior объекта Range возвращает объект Interior (внутренняя область диапазона), а свойство Pattern объекта Interior задает шаблон узора ячейки (диапазона) или возвращает его числовое значение.
Константы XlPattern
Шаблоны узоров (штриховых рисунков) с цветом по умолчанию:
Таблица констант из коллекции XlPattern:
Константа | Значение | Описание |
---|---|---|
xlPatternNone | -4142 | Нет узора |
xlPatternGray75 | -4126 | 75% серый |
xlPatternGray50 | -4125 | 50% серый |
xlPatternGray25 | -4124 | 25% серый |
xlPatternHorizontal | -4128 | Темные горизонтальные линии |
xlPatternVertical | -4166 | Темные вертикальные полосы |
xlPatternDown | -4121 | Темные диагональные линии слева вниз |
xlPatternUp | -4162 | Темные диагональные линии слева вверх |
xlPatternSolid | 1 | Сплошной цвет |
xlPatternChecker | 9 | Шахматная доска |
xlPatternSemiGray75 | 10 | 75% темно-серый |
xlPatternLightHorizontal | 11 | Светлые горизонтальные линии |
xlPatternLightVertical | 12 | Светлые вертикальные полосы |
xlPatternLightDown | 13 | Светлые диагональные линии слева вниз |
xlPatternLightUp | 14 | Светлые диагональные линии слева вверх |
xlPatternGrid | 15 | Сетка |
xlPatternCrissCross | 16 | Перекрестные линии |
xlPatternGray16 | 17 | 16% серый |
xlPatternGray8 | 18 | 8% серый |
xlPatternAutomatic | -4105 | Шаблоном узора управляет Excel |
Присвоение узору цвета
Присвоение одного из стандартных цветов узору в ячейке (диапазоне ячеек):
1 |
Range.Interior.PatternThemeColor = ConstantXlThemeColor |
ConstantXlThemeColor – константа из коллекции XlThemeColor, задающая цвет узора (штрихового рисунка).
Константы XlThemeColor
Стандартные цвета узоров в ячейках на примере рисунка «Темные вертикальные полосы»:
Таблица констант из коллекции XlThemeColor:
Константа | Значение | Описание |
---|---|---|
xlThemeColorDark1 | 1 | Светлый 1 |
xlThemeColorLight1 | 2 | Темный 1 |
xlThemeColorDark2 | 3 | Светлый 2 |
xlThemeColorLight2 | 4 | Темный 2 |
xlThemeColorAccent1 | 5 | Акцент 1 |
xlThemeColorAccent2 | 6 | Акцент 2 |
xlThemeColorAccent3 | 7 | Акцент 3 |
xlThemeColorAccent4 | 8 | Акцент 4 |
xlThemeColorAccent5 | 9 | Акцент 5 |
xlThemeColorAccent6 | 10 | Акцент 6 |
xlThemeColorHyperlink | 11 | Гиперссылка |
xlThemeColorFollowedHyperlink | 12 | Гиперссылка при наведении |
Примеры
Пример 1
Проверка наличия узора в активной ячейке:
1 2 3 4 5 6 7 |
Sub Primer1() If ActiveCell.Interior.Pattern = xlPatternNone Then MsgBox "В ячейке узора нет!" Else MsgBox "В ячейке узор есть!" End If End Sub |
Пример 2
В столбец «A» запишем значения констант из коллекции XlPattern, а в столбец «B» вставим соответствующие им узоры:
1 2 3 4 5 6 7 8 9 |
Sub Primer2() Dim myArr, i myArr = Array(-4142, -4126, -4125, -4124, -4128, -4166, -4121, _ -4162, 1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, -4105) For i = 0 To UBound(myArr) Cells(i + 1, 1) = CStr(myArr(i)) Cells(i + 1, 2).Interior.Pattern = myArr(i) Next End Sub |
Пример 3
В столбец «A» запишем значения констант из коллекции XlThemeColor, а в столбец «B» вставим соответствующие им цвета для рисунка «Шахматная доска»:
1 2 3 4 5 6 7 8 9 10 |
Sub Primer3() Dim i For i = 1 To 12 Cells(i, 1) = i With Cells(i, 2).Interior .Pattern = xlPatternChecker .PatternThemeColor = i End With Next End Sub |
Смотрите как залить ячейку цветом (фоном).