Страницы: 1
RSS
фомат цвета RGB
 
Подскажите, как из известной ячейки A1 узнать код цвета фона в формате RGB(200, 160, 35)?
 
Вот пример кода:  
 
Sub test()  
   Range("a1").Interior.Color = RGB(150, 55, 126)  
   x = Range("a1").Interior.Color: Debug.Print x  
 
   Красный = x Mod 256: Debug.Print Красный  
   Зелёный = ((x Mod 65536) - Красный) / 256: Debug.Print Зелёный  
   Синий = Round((x - Зелёный - Красный * 256) / 256 / 256): Debug.Print Синий  
End Sub  
 
Учитывая, что количество цветов в Excel 2003 ограничено, и Excel сам подбирает наиболее близкий цвет из своей палитры, результаты немного отличаются от исходных данных:  
 
Красный 153    
Зелёный 51    
Синий 102
 
{quote}{login=IvanANT}{date=25.09.2009 01:39}{thema=фомат цвета RGB}{post}Подскажите, как из известной ячейки A1 узнать код цвета фона в формате RGB(200, 160, 35)?{/post}{/quote}  
 
Очень просто. Копируете залитую цветом ячейку. Вставляете в Фотошоп и определяете RGB.
 
я выбираю цвет заливки с помощью формы, цвет определяется в виде индекса, а в коде используется не индекс RGB код. В примере вы все поймете. Может правда будут предложения <BR><STRONG>Файл удален</STRONG> - велик размер. Архивируйте. [Модераторы]
 
RGB можно найти в Параметры -> Цвет -> Изменить -> Спектр. Но как это применить к Вашей задаче, понятия не имею.
 
Я не понял в чем проблема из примера.  
У Вас же на форме отображается код цвета в RGB?  
Он не подходит?  
Или Вам нужно аналогично для ячейки сделать, а не для кнопки?  
   HexDigits = Hex(Range("a1").Interior.Color)  
   Do Until Len(HexDigits) = 6  
       HexDigits = "0" & HexDigits 'pad with zeros  
   Loop  
   BluePart = Val("&h" & Left(HexDigits, 2))  
   GreenPart = Val("&h" & Mid(HexDigits, 3, 2))  
   RedPart = Val("&h" & Right(HexDigits, 2))  
EducatedFool Вам тоже самое предложил, только чуть иначе реализовано.
Bite my shiny metal ass!      
 
не то немного. Или я вас не понимаю.  
Нужно чтобы в ячейке А1 появился код RGB (А не индекс) цвета которым залита ячейка В2
 
{quote}{login=IvanANT}{date=02.10.2009 12:55}{thema=}{post}не то немного. Или я вас не понимаю.  
Нужно чтобы в ячейке А1 появился код RGB (А не индекс) цвета которым залита ячейка В2{/post}{/quote}Да, пока у нас разговор слепого с глухим :)  
Вы хотите в А1 иметь запись вида: "RGB(200, 160, 35)"?
Bite my shiny metal ass!      
 
Может поможет?  
http://yandex.ru/yandsearch?text=%D0%B2%D0%B5%D1%80%D0%B4%D0%B5%D0%BF%D0%B5%D1%88%D0%B5%­D0%B2%D1%8B%D0%B9&nl=1&lr=1
 
{quote}{login=Лузер™}{date=02.10.2009 02:30}{thema=Re: }{post}Да, пока у нас разговор слепого с глухим :)  
Вы хотите в А1 иметь запись вида: "RGB(200, 160, 35)"?{/post}{/quote}  
я в ячейке изменяю заливку вручную и от цвета заливки надо чтобы в коде изменялся RGB. вот сам код:  
activ_yach = ActiveCell.Row  
activ_stroka = ActiveCell.Row  
Range("A" & activ_stroka & ":G" & activ_stroka).Select  
   With Selection  
       .Interior.Color = RGB(240, 15, 15)' вот здесь нужна связь с заливкой ячейки A1.  
   End With
 
вместо RGB(240, 15, 15) надо чтобы была заливка ячейки A1
 
{quote}{login=IvanANT}{date=06.10.2009 06:01}{thema=}{post}вместо RGB(240, 15, 15) надо чтобы была заливка ячейки A1{/post}{/quote}  
With Selection  
.Interior.Color = Range("A1").Interior.Color  
End With  
Так почему нельзя?
Bite my shiny metal ass!      
 
А без макроса можно узнать RGB заливки конкретной ячейки?
 
Всё, нашёл сам.
Страницы: 1
Читают тему
Наверх