【VBA】セルの文字色と背景色のRGB値を取得する

【VBA】セルの文字色と背景色のRGB値を取得する

はじめに

コジマです。

他のファイルと書式合わせたいなと思ったときに色が分からなかったりするので、
RGBを取得できるようにしてみました。

こちらがサンプルソースです

Option Explicit

' RGB値を取得する関数
Function GetRGBValue(ByVal colorValue As Long) As String
    Dim Red As Integer
    Dim Green As Integer
    Dim Blue As Integer
    
    Red = colorValue Mod 256
    Green = Int(colorValue / 256) Mod 256
    Blue = Int(colorValue / 256 / 256)
    
    GetRGBValue = "RGB(" & Red & ", " & Green & ", " & Blue & ")"
End Function

' RGB値をセルに設定する
Sub SetRGBValue()
    Dim fontColor As Long
    Dim interiorColor As Long
    fontColor = ActiveCell.Font.Color ' 文字色
    interiorColor = ActiveCell.Interior.Color ' 背景色
    ActiveCell.Value = GetRGBValue(fontColor) & " " & GetRGBValue(interiorColor)
End Sub

こんな感じで取れました。
左が文字色で、右が背景色です。
適当に選んだら見づらいセルばかりな気がしますがご容赦を。

さいごに

いくつか参考にさせていただきマイs多。
https://www.limecode.jp/entry/utility/inversergb
https://tdyu.hatenablog.jp/entry/2019/05/04/005034

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

システムエンジニアのつらい部分のあるあるなんかをエンタメにしたチャンネルを作りました。
チャンネルはこちら
つらい部分も楽しくなればと思っているのでよかったらチャンネル登録や高評価してくれたらうれしいです。

以上、コジマでした。


Excelカテゴリの最新記事