🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #2508

Re: colores en excel

#2508
From: Ramon Freire A.
Date: Wed, 30 Nov 2005 02:48
81 lines
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-mail
References: <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