- ベストアンサー
Excelで色のついたセルの文字を消す方法
- Excelの条件付き書式を使って色のついたセルの〇を自動で消す方法について教えてください。
- 平成○○年○月のカレンダーデータがあり、土曜日と日曜日のセルに色がついています。マクロを使用して色のついたセルの〇を自動で消すことは可能でしょうか?
- Excelのカレンダーデータで土曜日と日曜日に色がついているセルの〇を自動的に消す方法を知りたいです。
- みんなの回答 (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としては正当なアプローチですし、 上に書いたような但し書きも無用になります。
お礼
早速にありがとうございました! 2010以降のバージョンだったので、最初のもので対応できました。