セル内の 16 進カラー値を使用してセルを強調表示するにはどうすればよいでしょうか? 質問する

セル内の 16 進カラー値を使用してセルを強調表示するにはどうすればよいでしょうか? 質問する

シンボルとそれに対応する 16 進カラーのスプレッドシートがあります。セル自体 (または隣のセル) をセル内の 16 進カラーで塗りつぶしたいです。「条件付き書式」について少し読んだことがありますが、それがその方法だと思います。

どうすれば望む結果を達成できるでしょうか?

ベストアンサー1

すべての色に対して条件付き書式を設定することはできません。

想定: 行 1 にデータ ラベルが含まれ、データ セットにギャップがなく、HEX カラーはフォントではなく塗りつぶし用であり、HEX カラー値 (数式ではなく数値) を列 C:E (R、G、B) に解析しており、これを頻繁に行う必要がない場合は、ColourCells マクロが適している可能性があります。

Sub ColourCells()
Dim HowMany As Integer
On Error Resume Next
Application.DisplayAlerts = False
HowMany = Application.InputBox _
(Prompt:="Enter last row number.", Title:="To apply to how many rows?", Type:=1)
On Error GoTo 0
Application.DisplayAlerts = True
If HowMany = 0 Then
Exit Sub
Else
   Dim i As Integer
   For i = 2 To HowMany
      Cells(i, 3).Interior.Color = RGB(Cells(i, 3), Cells(i, 4), Cells(i, 5))
   Next i
End If
End Sub

プロンプトが表示されたら、n に必要な値を入力します。

サンプル出力と数式など:

SO11466034

ExcelのRGB()関数は実際にはBGR値を作成します(その理由を知っている人は誰も説明していないと思いますが)。そのため、Excelはニブルを逆の順序で表示します。コードではColumns3、4、5が論理的でしたが、画像では従来のRGBではなくBGRが奇妙に見えると思いました。画像のFではC3値('RGB'の3つの列の手は、適用から派生しています右()16 進数の色に。

おすすめ記事