入力されているRGB値でそのセルの背景色をセット

Sub prcSetCellBackgroundColor()
    ' 機能概要: セルに入力されているRGB値でそのセルの背景色をセットする
    ' 留意点: RGB値はカンマ区切りの文字列として入力されている必要がある

    Dim strCellAddress As String ' セルのアドレスを格納する
    Dim strRGBValues As String ' セルから取得したRGB値の文字列を格納する
    Dim lngRed As Long ' 赤色の値を格納する
    Dim lngGreen As Long ' 緑色の値を格納する
    Dim lngBlue As Long ' 青色の値を格納する
    Dim arrRGB As Variant ' 分割されたRGB値を格納する配列
    Dim rngTargetCell As Range ' 背景色を設定する対象のセルを格納する

    ' 対象のセルアドレスを指定
    strCellAddress = "A1"
    
    ' 対象のセルを設定
    Set rngTargetCell = ThisWorkbook.Sheets("Sheet1").Range(strCellAddress)
    
    ' セルからRGB値を文字列として取得
    strRGBValues = rngTargetCell.Value
    
    ' RGB値をカンマで分割して配列に格納
    arrRGB = Split(strRGBValues, ",")
    
    ' 分割されたRGB値が3つであることを確認
    If UBound(arrRGB) = 2 Then
        ' RGB値を取得して数値に変換
        lngRed = Val(Trim(arrRGB(0)))
        lngGreen = Val(Trim(arrRGB(1)))
        lngBlue = Val(Trim(arrRGB(2)))
        
        ' RGB関数を使用して色の値を作成し、セルの背景色に設定
        rngTargetCell.Interior.Color = RGB(lngRed, lngGreen, lngBlue)
    Else
        ' RGB値が正しくない場合はエラーメッセージを表示
        MsgBox "セルにはRGB値が正しく入力されていません。" & vbCrLf & _
               "正しい形式:'R,G,B'(例:'255,0,0')", vbExclamation
    End If
End Sub

コメント