• ベストアンサー

エクセルでセルをクリアされたら、自動的にセルの色を変更したい

エクセルで、セルの値がDeleteキーなどでクリアされた場合に、 自動的にセルの色がかわるようにしたいのですが、 何かよい方法はないでしょうか? セルの内容が変更された場合のフォントの色を変えるために、 Private Sub Worksheet_Change(ByVal Target As Range) Target.Font.ColorIndex = 3 End Sub というマクロは設定しています。 これだとクリアされた場合、わからないので。。。 よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

表設計を終った段階で空白セルは1スペースを入れておく。 (編集ージャンプーセル選択ー空白セルースペースーCTRL+ENTER) 書式 条件付書式 式が =A!="" 書式でセルのパターンにピンクとか設定 Ok データを入れて、その後DELで空白にすると色が現れる。 スペースーデータ入力ーDEL-空白ー着色のステップ。 ーー VBAでは Private Sub Worksheet_Change(ByVal Target As Range) If Target = "" Then Target.Interior.ColorIndex = 3 Else Target.Interior.ColorIndex = 0 End If End Sub で普通の操作なら近いところまで行くようだが、不都合箇所はあるかな。 表全体に別の意味からの何か色設定があると困るが。

kecharou
質問者

お礼

ご回答ありがとうございます。 なるほど! はじめにスペースをいれた上で、条件付き書式にすればいいんですね! うまくできました。 ありがとうございました!

その他の回答 (4)

  • taka_s777
  • ベストアンサー率57% (8/14)
回答No.4

IFで条件分岐させてあげればいいのではないでしょうか。 セルが変更された場合、値が""ならばカラーを0、そうでなければ3というように。 Private Sub Worksheet_Change(ByVal Target As Range) If Target <> "" Then Target.Font.ColorIndex = 3 Else Target.Font.ColorIndex = 0 End If End Sub マクロを使わずに、条件付書式を使ったほうがより確実だと思いますが…。

kecharou
質問者

お礼

早々のご回答ありがとうございます。 試してみたんですが、元の表に問題があるのか うまくできませんでした。。。

回答No.3

書式→条件付き書式で 「セルの値が」「次の値に等しい」「0」 ってやって、書式→パターンで背景色変えておけば、マクロ使わなくてもご要望どおりになると思いますが、だめでしょうか。

kecharou
質問者

お礼

早々のご回答ありがとうございます。 条件付き書式では、うまくいかないんです。。。

  • dogsiva
  • ベストアンサー率32% (92/279)
回答No.2

条件付き書式で =isblank(a1) のように設定するのはいかがでしょうか。 ただこれでは「クリアされた場合」ではなく、「空白セルの場合」になってしまいますが・・・。

kecharou
質問者

お礼

早々のご回答ありがとうございます。 条件付き書式では、もともと空白のセルにも色がついてしまい、 うまくいかない状態です。

  • nekoron07
  • ベストアンサー率37% (69/184)
回答No.1

空白セルの表示だけでよいのであれば、「条件付き書式」を使ってはいかがでしょうか。 クリアされたときに色を変えたいセルを選択して、「書式」→「条件付き書式」を選択します。 「セルの値が」「次の値に等しい」「=""」として「書式」ボタンを押し、「パターン」のタグで好きな色を選んで「OK」を押します。 それで、「OK」とすれば、空白セルのみ色塗りされます。

kecharou
質問者

お礼

早々のご回答ありがとうございます。 みなさんに教えていただいた方法でやってみたんですが、 条件付き書式では、もともと空白のセルにも色がついてしまい、 どのセルがクリアされたかわからない状態です。 自分だけで使用するなら都度塗りつぶし設定等をすればいいのですが、 ほかの方も使用するので、自動でなんとかできないかと。。。 難しいですね。。。

関連するQ&A