セルにRGBカラーを表示する(Microsoft Excel)
デニスは、3つのセル(A1:A3)にRGB値を入力し、別のセル(C1)にそれらの値に基づいて色を表示させたいと考えています。彼はこれを行う簡単な方法があるかどうか疑問に思います。
これを行う最も簡単な方法は、A1:A3の値を取得し、それらの値に基づいてセルC1の色を変更するマクロを使用することです。
理想的には、マクロはソースセルの値が0から255の範囲にあることを確認する必要があります。次のマクロはこの目的に最適です。
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:A3")) Is Nothing Then lRed = Abs(Range("A1").Value) Mod 256 lGreen = Abs(Range("A2").Value) Mod 256 lBlue = Abs(Range("A3").Value) Mod 256 Range("C1").Interior.Color = RGB(lRed, lGreen, lBlue) End If End Sub
このマクロは、セルが存在するワークシートのコードに追加する必要があることに注意してください。 (シートタブを右クリックして[コードの表示]を選択し、そこにマクロを追加するだけです。)これは、セルA1、A2、またはA3に変更があるたびに自動的に実行されるイベントハンドラーです。
これらのセルの値は、セルの内容の絶対値を取得し、余り(モジュロ)を使用することにより、0〜255の間であることが保証されます
256で割る。
このマクロは、A1:A3(RGB値)の範囲の値を手動で変更した場合にのみ機能します。その範囲の値が数式の結果である場合、セルを手動で変更していないため、正しく機能しません。その場合は、マクロの次の単純な変更を使用する必要があります。
Private Sub Worksheet_Change(ByVal Target As Range) lRed = Abs(Range("A1").Value) Mod 256 lGreen = Abs(Range("A2").Value) Mod 256 lBlue = Abs(Range("A3").Value) Mod 256 Range("C1").Interior.Color = RGB(lRed, lGreen, lBlue) End Sub
このバージョンでは、変更が発生した場所に関係なく、ワークシートで何かが変更されるたびに色が更新されます。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(9092)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。
linkセル内のRGBカラーの表示。