いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【EXCEL】「条件付き書式」の背景色を固定したい

・情報を視覚化するのに、「条件付き書式」という機能がある。

・セルの中の数値をもとに、書式を変更する機能であり、非常に便利。

・ただ、何らかの理由で書式はそのままに、セルの中の数値だけ弄りたい場面が、私の場合しばしばある。

・例えば、何らかの変数をもとにヒートマップを作成し、ヒートマップ上の異なる変数における分布を確認する場面など。

・関数だとどうしようもないので、マクロで背景色だけ抜き出せるようにした。

 

Sub 色写し()
Dim Cl, totNr, cNr As Long

totNr = Selection.Count

cNr = 1

Do While cNr < totNr + 1

Cl = Selection(cNr).DisplayFormat.Interior.Color
ActiveSheet.Range(Selection(cNr).Address).Interior.Color = Cl

cNr = cNr + 1

Loop

End Sub

 

・使い方は、条件付き書式で背景に色がついたセルを選択し、マクロを起動するだけ。

・そうすると、背景色として条件付き書式の背景が適用される。

・条件付き書式を解除しても、背景色はそのまま残る。

・セルの色を使うのではなく、DisplayFormatの色を使って色情報を抜き出すところがポイント。

 

・動作不良、その他不利益に関して、当方は一切補償しない。

 

終わり。