- ベストアンサー
セルの値が変化したら、値を着色して識別したい
PC環境: Win10 32bit エクセル2010 セルの値が変化したら、その値を着色して識別したいと思い、Changeイベントで Target.Font.ColorIndex = 3 このようなコードを作成しましたが、機能しません。 実は、対象のセルには数式が書き込まれていて、値は変わっても数式は 変わらないために機能しないのでは?と思っています。 数式: =RSS|'1234 .T'! 現在値 このような場合でも、機能させる方法があれば、教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
関数での値の変化では、シートイベントが働かないのは、その通りだと思います。 数式の意味が不明なのですが、別シートを参照しているのでしょうか? もし別シートの値が手動で入力されるのであれば、シートが変化するシートにWorksheet.Change イベントのコードを記載し、別シートのフォントカラーを指定色に変更させては如何でしょう。 下記はsheet1のA1~A10のセル範囲の値が変更になった場合、sheet2のB1~10の同じ行番号セルのフォントカラーを変更します。 Worksheet.Change イベントのコードは当然sheet1のシートモジュールに記載します。 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub Worksheets("sheet2").Range("B" & Target.Row).Font.ColorIndex = 3 End Sub
その他の回答 (1)
- dogs_cats
- ベストアンサー率38% (278/717)
NO1です。 .Dependentsを使用すると、Changeイベントで数式セルの変化を検出可能だそうです。 全ての条件が当てはまるわけではなさそうですが、下記を参照下さい。 http://veaba.keemoosoft.com/2012/12/233/
お礼
早速のご回答、本当にありがとうございます。 説明が不足で申し訳けありませんでした。 数式の内容の件ですが、この数式は楽天RSS関数で リアルタイムの株価を表示するための関数です。このものには 参照しているセルはありません。 ご回答の内容ですと、参照側のセルの変化を利用する策でしたが 大変に残念です。そこで思いついたのですが、この値をタイマー機能で 別セルに転記し、そのセルの変化を利用してチャレンジしようと思います。 試した結果はまた報告します。今回は本当にありがとうございました。
お礼
動作確認は、楽天RSSの起動上の都合から、土日を除くの通常日 に行うことになりますが、ご教授頂いた内容で行いたいと思います。 ありがとうございました。
補足
早速のご回答、本当にありがとうございます。 説明が不足で申し訳けありませんでした。 数式の内容の件ですが、この数式は楽天RSS関数で リアルタイムの株価を表示するための関数です。このものには 参照しているセルはありません。 ご回答の内容ですと、参照側のセルの変化を利用する策でしたが 大変に残念です。そこで思いついたのですが、この値をタイマー機能で 別セルに転記し、そのセルの変化を利用してチャレンジしようと思います。 試した結果はまた報告します。今回は本当にありがとうございました。