条件付き書式背景色確定
目次
コード
Sub 条件付き書式背景色確定()
Dim myRng As Range '処理対象範囲
Dim tmpRng As Variant '一時保存用
Dim henkoNo As Long '処理個数カウント用
If MsgBox("「$A$1」から「" & Cells.SpecialCells(xlLastCell).Address & _
"」までを範囲として、条件付き書式の背景色を確定します。" & vbCrLf & vbCrLf & _
"(条件付き書式の色でセルを塗りつぶし、条件付き書式を削除します。実行後は元に戻せません)" _
, vbOKCancel, "「背景色確定」を実行しますか?") = vbCancel Then Exit Sub
Set myRng = Range(Range("A1"), Cells.SpecialCells(xlLastCell))
For Each tmpRng In myRng
’塗りつぶしなし=16777215でない場合処理
If tmpRng.DisplayFormat.Interior.Color <> 16777215 Then
tmpRng.Interior.Color = tmpRng.DisplayFormat.Interior.Color
henkoNo = henkoNo + 1
End If
Next tmpRng
MsgBox henkoNo & "セルを処理しました。", vbInformation, "実行完了"
Cells.FormatConditions.Delete
End Sub
解説
アクティブシートの最終セルまでを範囲に、条件付き書式の色をセルの色に設定。