• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:色のついたセルの文字を消す)

Excelで色のついたセルの文字を消す方法

このQ&Aのポイント
  • Excelの条件付き書式を使って色のついたセルの〇を自動で消す方法について教えてください。
  • 平成○○年○月のカレンダーデータがあり、土曜日と日曜日のセルに色がついています。マクロを使用して色のついたセルの〇を自動で消すことは可能でしょうか?
  • Excelのカレンダーデータで土曜日と日曜日に色がついているセルの〇を自動的に消す方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.1

こんにちは。 > セルに色がついています 条件付き書式での、背景色の塗りつぶし、のことですね。 Excelのバージョンが2010以降であれば、 かなり簡単に出来ます。 Sub Re8753545() Dim c As Range   For Each c In Range("A2:G6")     If c.DisplayFormat.Interior.ColorIndex <> xlColorIndexNone Then       c.Value = Empty     End If   Next End Sub 但し、見た目に色が付いていないようでも、実は白く塗り潰している、 なんて場合も、"色のついたセル"と看做すよりありませんから、注意が必要です。 もし、Excelのバージョンが上記に該当しない場合は、 各バージョンごとにそれぞれ対応が異なりますし、非常に複雑になります。 なので、少し考え方を変えた方が汎用的にうまくいくと思います。 例示が具体的・現実的なものであれば、 1列め(A1:G1)をループして、セルの値が"土"または"日"ならば、 そのセルのひとつ下から、5行分の範囲の値をクリアする、 という方法でも、同じ結果が得られます。 Sub Re8753545c() Dim c As Range   For Each c In Range("A1:G1")     If c.Value Like "*[土日]*" Then       c.Offset(1).Resize(5).ClearContents     End If   Next End Sub 他にも方法はありますが、 このように、直接的に条件判別する方がVBAとしては正当なアプローチですし、 上に書いたような但し書きも無用になります。

AkB373
質問者

お礼

早速にありがとうございました! 2010以降のバージョンだったので、最初のもので対応できました。