Палитра для заливки ячеек Excel 2003 - VBA

Узнай цену своей работы

Формулировка задачи:

Сегодня баловался с палитрой - получилась отличная от Microsoft, что всплывает на панеле. И на 4 визуально отличимых цвета больше. Кому понравится - в аттаче. 1) Можно ли програмно вызвать некое меню палитры для выбора цвета заливки или же придется вручную создавать подобие в User.Form? 2) Имеет ли Excel 2007 большее количество визуально отличимых между собой цветов заливки? Я заметил, что в ColorIndex есть около 11 визуально одинаковых цветов, зачем они для меня загадка. По какому принципу вообще постоен этот порядок индексов?

Решение задачи: «Палитра для заливки ячеек Excel 2003»

textual
Листинг программы
Sub Color2003()
Dim aRange As Range
Dim c As Variant
Dim i As String
Set aRange = Application.InputBox(prompt:="Выберите диапазон", Type:=8)
  If aRange Is Nothing Then
    MsgBox "Ошибка выбора диапазона"
  Else
  Application.ScreenUpdating = False
For Each c In aRange
i = ClosestColor(c.Interior.Color)
Cells(c.Row, c.Column).Interior.ColorIndex = i
Next
End If
    Application.ScreenUpdating = True
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5