デニスは、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で割る。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(9090)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excelribbon-Showing_RGB_Colors_in_a_Cell [セル内のRGBカラーの表示]