• ベストアンサー

エクセル 『1』上がったら背景が変わるようにしたい

エクセルのセルの背景の色を、「1」上がったらオレンジに、「1」下がったら緑にしたいのですが、そういった機能はありますか? ある場合はどのようにすればいいでしょうか?

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.4

マクロで対応します。 該当するシートのプロシージャに以下のコードを記載します。 対応するセルをA1:C10に指定してますので、実際の範囲に適宜変更してください。 Private Sub Worksheet_Change(ByVal Target As Range) Dim NewVal As Variant If Application.Intersect(Target, Range("A1:C10")) Is Nothing Then Exit Sub End If Application.EnableEvents = False NewVal = Target.Value Application.Undo If NewVal = Target.Value + 1 Then Target.Interior.Color = 49407 ElseIf NewVal = Target.Value - 1 Then Target.Interior.Color = 5287936 End If Target.Value = NewVal Application.EnableEvents = True End Sub

yokoyama0106
質問者

お礼

コードも教えてくださり、ありがとうございました。

その他の回答 (3)

  • TZ91
  • ベストアンサー率51% (1050/2043)
回答No.3
  • aiyo-
  • ベストアンサー率23% (19/80)
回答No.2

横からスミマセン 回答者の方が、何に対してと問われてますよね。 >セルにもともと入っていた数字から1上がったらオレンジに、1下がったら緑にしたいです。 計算によるものですか? 直接手打ちした数字ですか?って事 あと、変わった後、逆に1上がったり下がったりしたら色はどうなるといいのでしょうかね?

yokoyama0106
質問者

補足

回答ありがとうございます。 手打ちによるものです。 変わった後も、1上がったらオレンジで、1下がったら緑にしたいです。

  • hiro_1116
  • ベストアンサー率30% (2555/8267)
回答No.1

何に対して1上がったり下がったりを判定したいのですか? 計算結果が表示されるセルの色を、計算結果が「直前に表示されていた値よりも」1上がったり・・・と言うことをおっしゃっているのでしょうか? 1未満動いたり、1より大きく動いたりすることもあって、ちょうど1だけ動いた時に検知したいのでしょうか?

yokoyama0106
質問者

補足

説明不足で申し訳ございません。 セルにもともと入っていた数字から1上がったらオレンジに、1下がったら緑にしたいです。