VBATips

シートにRGBで指定したカラーの一覧を作成する

案件で何度か作成していたため、これを機にブログに落とし込みます。
ユーザーが指定した背景色を微妙に変化させたいため、
10進数で表示される色データをRGB形式に変換かけて変数保持したいケースが有りました。

10進数で表示された色データをRGB形式に保存するサンプルコード

'■標準モジュールの先頭に記載
Public Type RGBColor
    R As Long
    G As Long
    B As Long
End Type
'■10進数の色データをRGB形式で返す TypeRGBColor
Public Function DemicalToRGB(ByVal colorValue As Long) As RGBColor

    Dim xxx As RGBColor
    
    xxx.R = colorValue Mod 256
    xxx.G = (colorValue \ 256) Mod 256
    xxx.B = (colorValue \ 65536) Mod 256
    
    DemicalToRGB = xxx
End Function

実際の使い方

Public Sub sample()
    Dim sColor As RGBColor
    sColor = DemicalToRGB(255)  '赤色=25を指定
    
    Debug.Print sColor.R, sColor.G, sColor.B
End Sub

注意点

  • 特にありません

関連記事

 

コメント