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
コメント