Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Цветовое оформление объекта Range Свойство ColorIndex

Свойство ColorIndex заливки (заливка – это объект Interior, который является вложенным для объекта Range) рассматривает цвет как номер в палитре цветов рабочей книги. Всего в палитре 56 цветов.

Пример

В ячейках, начиная с активной, отображается палитра цветов рабочей книги.

Sub pall()

'палитра цветов рабочей книги

Dim r As Integer, c As Integer, k As Integer

Dim obj_range As Range, p As Object

c = ActiveCell.Column

r = ActiveCell.Row

Set obj_range = Range(Cells(r, c), Cells(r + 6, c + 7))

k = 1

For Each p In obj_range

p.Activate

ActiveCell.Interior.ColorIndex = k

ActiveCell.Interior.Pattern = xlSolid

k = k + 1

Next p

End Sub

Переменные c и r содержат соответственно индекс столбца и индекс строки активной ячейки .

Прямоугольный интервал из 56 ячеек (7 строк и 8 столбцов, начиная с активной ячейки) для отображения палитры задается переменной obj_range, содержащей ссылку на объект Range.

Свойство Pattern (образец заливки) задается константой xlSolid, позволяющей установить сплошную заливку.

Свойство Color

Свойство относится к объектам Border, Font, или Interior (вложенные объекты для объекта Range) и устанавливает цвет объекта в формате RGB. Свойство можно задать, используя функцию RGB, которая возвращает цвет в виде числа типа Long. Аргументы функции Red, Green, Blue определяют насыщенность соответствующей компоненты в устанавливаемом цвете и изменяются от 0 до 255.

Наиболее распространенные цвета можно установить, задавая следующим образом аргументы функции RGB:

Цвет

Red

Green

Blue

red

255

0

0

green

0

255

0

blue

0

0

255

Cyan

0

255

255

Magenta

255

0

255

Yellow

255

255

0

black

0

0

0

White

255

255

255

Например, оператор ActiveCell.Interior.Color=RGB(255, 0, 0) устанавливает красную заливку активной ячейки.

Замечание

  • Не путайте свойство Color со свойством Colors! Последнее является свойством объекта Workbook и использует палитру цветов рабочей книги как массив значений цветов, например, оператор ActiveWorkbook.Colors(51) = RGB(255,0,0) меняет 51 цвет палитры активной рабочей книги на красный.

Чтобы использовать серый цвет разной интенсивности, установите равные аргументы функции RGB, например, выражение RGB(196,196,196) устанавливает 25% серую заливку. Чем больше значения аргументов, тем ближе серый цвет к белому.

Примеры

  1. Сравните результаты заливки двух интервалов, которая выполнена следующей процедурой:

    Public Sub color_range()

    Set b = Range("A1:B5")

    b.Interior.Color = RGB(196, 196, 196)

    Set a = Range("D1:E5")

    a.Interior.Color = RGB(100, 100, 100)

    End Sub

  2. Процедура устанавливает варианты серой заливки, используя числа от 0 до 245.

Public Sub gray_scale()

Dim r as integer

For r = 1 To 25

Cells(r, 1).Interior.Color = RGB(255 – 10 * r, 255 – 10 * r, 255 – 10 * r) ‘Установка серого цвета

Cells(r, 2) = 255 – 10 * r ‘Числовое значение аргументов функции RGB

Next r

End Sub

MS Excel округляет вычисляемую интенсивность серой заливки (от белого цвета до черного) до стандартных значений: 0%, 25%, 40%, 50%, 80%, 100%.