• ベストアンサー

【Excel】内容を変更したセルに色をつけたい

Excel2003を使用しています。 数式を入力している列で、端数処理をするために、元々入力されている数式に手を加えることがあるのですが、内容を変更をしたセルがわかるように、数式を変更したら、自動でセルに色がつくように設定することはできますか? セルに色をつけるということではなくても、フォントの色を変えるとか、変更したセルがひと目でわかるようにしたいのですが。。。 よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

「数式が入ったセルが修正されたら色を着ける」ということなら、シート名を右クリック→「コードを表示」で開く画面に以下のマクロを貼り付ければ実現できます Private Sub Worksheet_Change(ByVal Target As Range) If Target.HasFormula Then Target.Interior.ColorIndex = 28 End If End Sub ただしこれではセルをダブルクリックして何も修正せずに確定した場合も色が変わります。その点はご承知おきください

rx-z5815
質問者

お礼

回答ありがとうございます。 今回の場合は、端数処理の必要がなければ、数式が入力されている列を操作することはないので、教えていただいたマクロで十分です。 ありがとうございました。

その他の回答 (1)

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

VBAでシートのセルのChangeイベントというものが有るが、変更前の情報は取れないので、ましてセルの式に限ってなどは、採るのは無理と思います。HasFormulaなども、今現にあるかどうかを判別するもので、 無しー>あり ありー>あり(変更) ありー>なし (なしー>無しは捉える必要はないが) にの別は割り出せないと思う。 もっと勉強して、ApIなどの学が進んだら、できないか考えてみることです。初心者がイメージすることのほとんどは、エクセルで、できないと思っても良いと思います。エクセルを使い込んだ人はあきらめているのでしょう。 セルがHasFormulaなら、でよいのなら、数行のユーザー関数を組んで、条件付き書式の、「式が」の中でそれを使えるので、式のあるセルを色付けすることは可能。 標準モジュールに Function hsfml(a) If a.HasFormula Then hsfml = 1 Else hsfml = 0 End If End Function を貼り付け。 書式を設定する、セル範囲を指定 書式 条件付き書式 数式が =hsfml(A1)=1 書式でセルの色を設定 OK 式のあるセルが、色が変わります。 =2などを入れて2にしても変わります。

rx-z5815
質問者

お礼

回答ありがとうございます。 >もっと勉強して、ApIなどの学が進んだら、できないか考えてみることです。初心者がイメージすることのほとんどは、エクセルで、できないと思っても良いと思います。 今まで、こちらでExcelに関する質問を何度もさせていただいていますが、親切な回答者様もいらっしゃって、問題解決までお付き合いくださいますので、私の場合、どれも希望通りの解決に至っているせいか、初心者がイメージすることのほとんどは、エクセルでできないとはあまり感じていません。

関連するQ&A

  • Excel2010 セル色の変更について

    エクセルの条件付き書式で表の色付けをしていますが 参照先のセルをデリートした時に書式の色が消えなくて困っています 表の構成としては項目(B・C列)は2行で 本日の日付をC3セルに「 =today() 」で表示させ 6行目にあるA・B・C・Dのアルファベットは その項目に対してしなければいけない予定の事象を書き 各項目のD・E・F・G列には 項目内上列に予定事象の期限を自動入力(関数入力済)し 項目内下列は事象実施日を手動で入力するようにしてあります 事象予定日の日付がC3セルと同じ日(当日)になれば事象予定日のセルを赤塗 C3セルの前日であれば黄塗、3日前であれば緑塗で事象予定日のセルが表示され 事象実施日がC3の日付より1日以上前であれば事象実施日を灰塗で表示させています ここまでが現状で、ここからがうまくいきません やりたい事としては 実施日が入力されたら予定日のセルの色も実施日のセルと同様に灰塗にし 実施日が未入力状態であるときは予定日のセル色に対しての変更はかけたくないのですが 実施日に日付を入力をすると予定日のセルも灰色にはなるものの 一度入力された実施日のセルをデリートしても予定日のセルが灰塗のままで戻りません。 予定日のセルに設定した条件付き書式は ・「数式を使用して~」→「次の数式を~」に「=$○$8=""」 書式に白塗 ・「指定の値を含む~」→「次のセルのみを~」に「セルの値」「次の値に等しい」「=$C$3+3」書式緑塗 ・「指定の値を含む~」→「次のセルのみを~」に「セルの値」「次の値に等しい」「=$C$3+1」書式黄塗 ・「指定の値を含む~」→「次のセルのみを~」に「セルの値」「次の値以下」「=$C$3」書式赤塗 ・「数式を使用して~」→「次の数式を満たす場合に~」に「=$○$8<$C$3」→書式灰塗  ※○の中には相関列文字を入力 この一通りの設定を、項目の上行と下行に対して参照関係になるようにセル位置の指定は変更してあります (E列の数式にはEを、F列の数式にはFを という具合です) これ以上何かを設定しなければいけないのか、どこかの設定が間違っているのか、VBAじゃないとできないのか・・・ どなたかご教授願います。説明の過不足等ありましたらご指摘ください。

  • Excel:セルの内容が変更されない

    Excel2010(Excel97-2003ブック)で、1つのセルに関数を入力し、そのセルをコピーして、その下に何行か、貼り付けをしたのですが、セルの内容が変更されていませんでした。 一度、セルの中をクリックして、Enterキーを押さないと変更されません。 例えば、添付画像の「赤枠」が最初に関数を入力した部分でコピーしたとします。そして、貼り付けを「緑枠」にしたのですが、「緑枠」の部分が「赤枠」と同じ結果になってしまうんです。(添付画像では変更されていますが、実際は別のエクセルファイルです。) この説明で理解できたでしょうか? これは、どうすれば、セルの内容を変更できるようになるのでしょうか? 回答よろしくお願いします。

  • Excel2010 セルのフォントの色

    Excel2010で、任意のセルのフォントの色が「赤」だったら、その列の空のセルに「赤」等のフラグを立てて、条件付きで列に色を付けたい。 VBA等マクロは使えません。 なんとか関数で対応したいと思っています。 ご教示方、よろしくおねがいします。

  • エクセルで土・日のセルに幅広く色をつけたい

    エクセルで予定表を作成しています。A列に日付・BからH列まで項目を設けています。(A列は、33行目まで日付が入力されています) A列に条件付書式で、条件付書式の設定で条件(1)数式が=WEEKDAY(A33)=1  パターン  色  ブルー  フォント  赤 A列に条件付書式で、条件付書式の設定で条件(2)数式が=WEEKDAY(A33)=7  パターン  色  グリーン フォント  赤 の設定を行いました。 A列の 土・日のフォントが赤に、セルの色がブルー・グリーンになるのですがBからH列はセルに色がつきません。 A33:H33  までの設定にするとセルの色がグレーになります。 AからHまでセルに同じ色を表示する設定はあるのでしょうか。

  • 空白のセルに色を付けるには

    エクセル2007 空白のセルに色を付けて、この列を色フィルターで処理したいと思っています。 条件付き書式で、数式を使用して、書式設定いるセルを決定から、数式を以下の通りに組んでみました。 =FIND(1,B2) 書式で任意の色を設定 B2に1が入っていると設定した色に変化します。 B列を含めて右側の列は、COUNTIFで1が表示する様にしています。 これを範囲を広げて、B2~G2のセルのいずれかのセルに1が入っていた場合、A1のセルの色が変わるようにしたいです。 ご教授頂ければ幸いです。 宜しくお願いいたします。

  • Excel2003で指定したセルの色を変更する方法

    あるセル(例:C:5)に名前を入力すると別のセル(例:C:4)の色を自動的に変更させる方法を教えて頂きたいのですが可能でしょうか? 更に、特定の名前で反映されるセルの色を全部で5色程設定したいのですが・・・出来るだけ簡単な方法をご教授頂きたく存じます。

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

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

  • EXCEL2007セルの色を数式で取得したい

    EXCEL2007セルの色を数式で取得したい EXCEL2007で条件付き書式を使って現在使って特定の値が入っているセルを 条件付き書式を使って背景を赤色を変えるというシートを作成しました。 さらに、特定のセルをダブルクリックすると書式を水色に変わるという処理 をVBAで実現したのですが、既に条件付き書式によって赤くなっているセルの 背景色を水色に変えることができません。 つまり、書式設定した背景色が条件付き書式の背景色につぶされてしまいます。 書式設定した背景色(水色)の方を優先させたいので、条件付き書式の条件に セルの書式に背景色が設定されているときには条件外とするようにしたいのですが。 どうやって、数式で書式設定した背景色を取得できますか? もしくは、他の方法で実現できるアイデアがありましたら、紹介してください。 どうぞ、よろしくお願いいたします。

  • セル内の数字を変更すると[塗りつぶし]の色が変わる

    Microsoft Excel 2010にて、セル内の数字を変更すると自動的に[塗りつぶし]の色を灰色にしたいのですが、何方かご存知の方おりましたら教えていただけないでしょうか。よろしくお願いいたします。

  • Excel2000で書式変更が出来ない

    Excel2000で、セルに数字や文字を入れた後に太字・斜体やフォント変更をしようとすると、 Excelが固まってしまい、(Excelの)強制終了以外何も出来なくなってしまいます。 (セルの書式設定からでも、書式設定バーからでもなります、  でも塗りつぶしやフォントの色変更では固まりません) この現象の回避方法があれば教えてください。 「アンインストールしてもう一度インストール」は最後の手段と考えています。 (これしか回避方法がなかったりして…) ちなみに、「アプリケーションの自動修復」は何度かやってみたのですが、解消されませんでした。

専門家に質問してみよう