Excel 2010 - Окрашивание ячеек и фигур - Мои идеи - PullRequest
2 голосов
/ 21 октября 2011

Excel 2003 имел простой ... interior.colorindex и всего 56 чисел. Но это изменилось в Excel 2010 для лучшего контроля.

Теперь при разработке программы, которая должна копировать цвет ячейки (в VBA) и помещать один и тот же цвет ячейки в форму Excel в зависимости от содержимого ячейки ... я потерял несколько разных объектов, таких как это:

Для клетки:

Sheets("Config").Range("E1").Interior.ThemeColor = 10
Sheets("Config").Range("E1").Interior.TintAndShade = -0.249977111117893 

Для формы:

Activesheet.shapes("R3").fill.forecolor.objectthemecolor = 7
Activesheet.shapes("R3").fill.forecolor.brightness = 0.6
Activesheet.shapes("R3").fill.forecolor.schemecolor = 42
Activesheet.shapes("R3").fill.forecolor.tintandshade (and this doesn't even work)

1 Ответ

1 голос
/ 21 января 2012

Я нашел более простой способ, который не требует всех вышеперечисленных различных имен ...

Все, что вам нужно, это:

range("b9").Interior.Color

, который вернет длинное ...например, так: 682978 (шестнадцатеричного цвета в шестнадцатеричном формате)

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

.Shapes(xName).Fill.ForeColor.RGB = 682978 (some variable)

Другие полезные примечания:

range("h1").Interior.Color = rgb(0,123,124) 

и, для печати в консоли

? rgb(0, 123, 124)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...