ニールはワークシートで色をよく使用しています。彼は、RGBの数値に基づいて色を生成できることを知っています(他の_ExcelTips_の問題で説明されています)。ニールは反対のことをしたいと思っています—RGB値を決定します。彼は(関数またはマクロを介して)戻る方法があるかどうか疑問に思います

セルの塗りつぶしに使用される色のRGB値。 (ニールは、条件付きフォーマットによって課されるような「オーバーライド」カラーではなく、実際のカラーをセルに適用することを望んでいます。)

Excelにはこれを行う関数は含まれていませんが、単一セルのRGB値のみをチェックアウトする必要がある場合、最も簡単な方法は次の手順に従うことです。

。確認したい色でフォーマットされているセルを選択します。

。リボンの[ホーム]タブを表示します。

。 [フォント]グループで、[塗りつぶしの色]ツールの右側にある下向き矢印をクリックします。 Excelは、色の小さなパレットと他のいくつかのオプションを表示します。

。その他の色を選択します。 Excelに[色]ダイアログボックスが表示されます。

。 [カスタム]タブが表示されていることを確認します。 (図1を参照)

。ダイアログボックスの下部に、セル内の色の赤、緑、および青のコンポーネントの個々の値が表示されます。

。完了したら、[OK]をクリックします。

より頻繁に値を取得する必要がある場合は、独自のユーザー定義関数を作成することをお勧めします。使用する関数は、実際にワークシートに何を返したいかによって異なります。たとえば、RGBカラーの従来の6文字の16進コードを返したい場合は、次の非常に単純なマクロを使用します。

Function getRGB1(rcell) As String     Dim sColor As String

sColor = Right("000000" & Hex(rcell.Interior.Color), 6)

getRGB1 = Right(sColor, 2) & Mid(sColor, 3, 2) & Left(sColor, 2)

End Function

このマクロは、参照するセルの内部の色を調べ、色の16進値を正しい順序で配置し、文字列をExcelに返します。関数を使用するには、ワークシートで、次のように参照されるセルを使用して関数を呼び出すだけです。

=getRGB1(B4)

ただし、RGBカラーの従来の16進コードは必要ない場合があります。

各色の10進値を取得する場合は、次のマクロが次の値を返します。

Function getRGB2(rcell) As String     Dim C As Long     Dim R As Long     Dim G As Long     Dim B As Long

C = rcell.Interior.Color     R = C Mod 256     G = C \ 256 Mod 256     B = C \ 65536 Mod 256     getRGB2 = "R=" & R & ", G=" & G & ", B=" & B End Function

getRGB1マクロと同じ方法で呼び出されたこのバージョンは、「R = 255、G = 204、B = 0」などの文字列を返します。設定したパラメーターに基づいて単一の値を返すように、マクロをさらに変更することもできます。

Function getRGB3(rcell As Range, Optional opt As Integer) As Long     Dim C As Long     Dim R As Long     Dim G As Long     Dim B As Long

C = rcell.Interior.Color     R = C Mod 256     G = C \ 256 Mod 256     B = C \ 65536 Mod 256

If opt = 1 Then         getRGB3 = R     ElseIf opt = 2 Then         getRGB3 = G     ElseIf opt = 3 Then         getRGB3 = B     Else         getRGB3 = C     End If End Function

マクロを使用するには、ワークシートで使用する関数に2番目のパラメーターを追加して、必要なものを指定します。

=getRGB3(B4,1)

2番目のパラメーターが1の場合、関数は赤の値のみを返します。 2番目のパラメーター2を指定すると、緑の値が返され、3は青の値を返します。 2番目のパラメーターの他の値(または完全に省略した場合)は、内部色の完全な10進値を返します。

マクロを作成するルートに行きたくない場合、またはExcelワークシート以外の色を決定したい場合は、サードパーティのユーティリティを検討することをお勧めします。面白そうなのは無料のインスタントスポイトです。あなたはそれについてのより多くの情報をここで見つけることができます:

http://instant-eyedropper.com

注:

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

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

このヒント(10180)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。