Banner

piatok 15. mája 2015

Ako zistiť presné súradnice farby v reporte

 

Ako to už býva zvykom, okrem zložitých procesov – namávavých na mozgové bunky človek niekedy potrebuje riešiť triviálnosti ako sú napríklad korporátne farby v reporte. Inak povedané – nie je modrá ako modrá, na čo niektoré firmy dávajú striktný dôraz.

Pre ľahšiu manipuláciu je dôležité poznať tie správne indexy farieb. Určite každý sa v praxi stretol napríklad s pojmom RGB index, kde R – red, G – Green a B – Blue odtiene.

Nasledujúce VBA skripty definujú farebné indexy:

Function Color(RNG As Range, Optional formatType As Integer = 0) As Variant
    Dim colorVal As Variant
    colorVal = Cells(RNG.Row, RNG.Column).Interior.Color
    Select Case formatType
        Case 1
            Color = Hex(colorVal)
        Case 2
            Color = (colorVal Mod 256) & ", " & ((colorVal \ 256) Mod 256) & ", " & (colorVal \ 65536)
        Case 3
            Color = Cells(RNG.Row, RNG.Column).Interior.ColorIndex
        Case Else
            Color = colorVal
    End Select
End Function

‘======================================================================


Function
hexColor(RNG As Range)

    colorVal = RNG.Interior.Color
    hexColor = Hex(RGB((colorVal \ 65536), ((colorVal \ 256) Mod 256), (colorVal Mod 256)))

End Function

Funkcionalitu si môžete skúsiť v priloženom súbore, kliknutím na obrázok. Tip pokúste sa kombinovať výstupy a hľadať dané farby na internete.

Poznámka: V súčasnosti existuje množstvo tzv. “Color Pickerov”, ako napríklad paint.net ktoré bez akýchkoľvek dodatočných aktivít nám zistia color index a editujú obrázky (ikonky). Avšak ak potrebujete aby sa v reporte menili farby na základe istých podmienok, je VBA funkcionalita *.Interior.Color vskutku užitočný nástroj.

             downloads_normal