2011-10-21 4 views
2

В Excel 2003 был простой ... interior.colorindex и всего 56 чисел. Но это улучшено с помощью Excel 2010 для лучшего контроля.Excel 2010 - Раскраска ячеек и фигур - Мои идеи

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

Для Cell:

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) 
+6

Это нормально (и даже иногда рекомендуется), чтобы задать вопрос и ответить на него сами, но вы должны разделить его на две части - вопрос и ответ. То, что вы разместили здесь, опубликовано как «вопрос», когда кажется, что большинство из них действительно должно быть в «ответе». – Flexo

+0

Я согласен с тем, что упомянуто выше. На этот вопрос не нужно отвечать. Пожалуйста, закройте этот вопрос. – Buddha

+0

Как сказал @awoodland. Пожалуйста, удалите ответ из вопроса и вместо этого добавьте его в качестве фактического ответа. – mischab1

ответ

1

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

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

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) 
Смежные вопросы