Long to RGB.

Ir abajo

Long to RGB.

Mensaje por Toyz el 16/7/2016, 4:07 am

FUENTE: https://social.msdn.microsoft.com/Forums/office/en-US/df8a1e1e-e974-4a9c-938a-da18ae9f5252/vba-excel-2010-rgb-to-long-color-value-convertor?forum=exceldev

Bueno, necesitaba esto y lo busqué, lo encontré y tenía una pequeña falla, ya lo arreglé.

Sirve para pasar números tipo long de 0 hasta 16777215 a colores RGB.


Ejemplo:

1000 = RGB (0, 3, 232)

Inversa:

RGB (0,3,232) = 1000

Código:

Código:

Sub LongRGB()

    Dim RGBL As Long


    Dim r As Byte
    Dim g As Byte
    Dim b As Byte
  
  
    RGBL = Val(Text1.Text)

    If RGBL < 0 Or RGBL > 16777215 Then
        MsgBox "Sólo se admiten valores de 0 hasta 16777215", vbCritical, "Error"
        Exit Sub
    End If

    'r = r * 256 al cuadrado
    'g = g * 256
    'b = b
    'long = r + g + b

    r = (RGBL \ 256 \ 256) Mod 256
    g = (RGBL \ 256) Mod 256
    b = RGBL Mod 256
  
    Label1.Caption = r
    Label2.Caption = g
    Label3.Caption = b
  
    Form1.BackColor = RGB(r, g, b)

End Sub
avatar
Toyz
Administrador
Administrador

¿BANEADO? : No.
Premios :
[1er puesto] Usuario del año 2016
Cantidad de envíos : 5045
Edad : 17
Localización : Global.
Fecha de inscripción : 28/09/2014

Ver perfil de usuario

Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.