Article View: chile.comp.programacion
Article #2508Re: colores en excel
From: Ramon Freire A.
Date: Wed, 30 Nov 2005 02:48
Date: Wed, 30 Nov 2005 02:48
81 lines
3825 bytes
3825 bytes
"Ramon Freire A." <ramonfreire@mailcaliente.com> escribi� en el mensaje
news:dmghrf$m9q$1@news.nivel5.cl...
> ":: g A b R i E L ::" <nospam@nspam.org> escribi� en el mensaje
> news:438BCC16.8090208@nspam.org...
>> Estimad@s
>>
>> Programando con VBA para excel, conozco la funcion RGB, pero no encuentro
>> un equivalente para obtener el RGB de un "color excel", en otras
>> palabras, en excel el color rojo es "3", en RGB es (255, 0, 0), pero no
>> se obtener el RGG de cualqiuer otro color con que me encuentre en excel.
>>
>> Por ejemplo: intColor = ActiveSheet.Range('A1').Font.Color
>>
>> Instancia el valor 3 la variable intColor, si excel esta con la paleta de
>> colores predefinida, y la celda 'A1' tiene color de fuente establecido en
>> Rojo.
>>
>> ?Alguien conoce alguna funcion, truco y/o forma de obtener el color RGB
>> conociendo el valor de color excel, por ejemplo de la fuente de una
>> celda.
>>
>> (Por ahi, en la ayuda encontre la funcion QBColor, pero arroja error, no
>> funciona!)
>>
>> Gracias
>>
>
> no tengo muy claro si funcionara pero intenta esto:
> la funcion Range("SELECCION").Font.Color te entrega el color de la celda
> en formato RGB como numero long
> este numero se compone como RBG(x,y,z) de la siguiente manera
>
> RBG (LONG) = x+y*256^1+z*256^2 (con x,y,z entre 0 y 255)
>
>
> por ejemplo
>
> si tengo seleccionado el color rojo (3) de la paleta la funcion
> range().font.color me entrega 255, el cual tiene que descomponerse como la
> funcion RBG que te describi.
> esto significa que el color de la paleta 3 es (255,0,0)
>
> Si pongo el color 33 de la paleta (cyan o parecido) el font.color me da
> 16763904, por lo que debe corresponder a rgb(0,204,255)
>
> ojala te sirva
>
> saludos
aca va como subrutina y funcion adicional que no existe en VBA (Truncar)
toma el color de la celda A1 y escribe en:
B2: Codigo del color en plantilla
B3: Color de la celda A1 en formato RGB (numero long)
B4: Composicion RGB del color (R,G,B)
----------------------------------------------------------------------
Sub Color()
Range("a1").Select
act_col = Range("a1").Font.Color
act_Cod = Range("a1").Font.ColorIndex
blue = trunc(act_col / ((256) ^ 2))
green = trunc((act_col - blue * 256 ^ 2) / ((256) ^ 1))
red = act_col - blue * 256 ^ 2 - green * 256 ^ 1
Range("a2").Value = "Color Index"
Range("b2").Value = act_Cod
Range("a3").Value = "Actual Color"
Range("b3").Value = act_col
Range("a4").Value = "RGB Color"
Range("b4").Value = "(" & red & "," & green & "," & blue & ")"
Range("b4").HorizontalAlignment = xlCenter
End Sub
Function trunc(numb As Variant) As Long
If Round(numb) > numb Then
trunc = Round(numb) - 1
Else
trunc = Round(numb)
End If
End Function
---------------------------------------------------------------------
Technical Details
Message-ID:
<dmj3v3$lfj$1@news.nivel5.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!not-for-mailReferences:
<438BCC16.8090208@nspam.org> <dmghrf$m9q$1@news.nivel5.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,a7b26ec6d678c323 X-Google-Attributes: gid1593cb,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!not-for-mail From: "Ramon Freire A." <ramonfreire@mailcaliente.com> Newsgroups: chile.comp.programacion Subject: Re: colores en excel Date: Tue, 29 Nov 2005 23:48:50 -0300 Organization: SUCKS Lines: 83 Message-ID: <dmj3v3$lfj$1@news.nivel5.cl> References: <438BCC16.8090208@nspam.org> <dmghrf$m9q$1@news.nivel5.cl> NNTP-Posting-Host: pc-75-210-120-200.cm.vtr.net X-Trace: news.nivel5.cl 1133318947 22003 200.120.210.75 (30 Nov 2005 02:49:07 GMT) X-Complaints-To: news@news.nivel5.cl NNTP-Posting-Date: Wed, 30 Nov 2005 02:49:07 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-RFC2646: Format=Flowed; Response