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
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.