・情報を視覚化するのに、「条件付き書式」という機能がある。
・セルの中の数値をもとに、書式を変更する機能であり、非常に便利。
・ただ、何らかの理由で書式はそのままに、セルの中の数値だけ弄りたい場面が、私の場合しばしばある。
・例えば、何らかの変数をもとにヒートマップを作成し、ヒートマップ上の異なる変数における分布を確認する場面など。
・関数だとどうしようもないので、マクロで背景色だけ抜き出せるようにした。
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の色を使って色情報を抜き出すところがポイント。
・動作不良、その他不利益に関して、当方は一切補償しない。
終わり。