重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

Excelの表示形式で、入力された値に応じて表示された値を変えることが出来ますが、二つか三つまでしか設定できません。
これと同様の事をvbaを使って組む事は可能ですか?
またどのように組めばよいのでしょうか。
厚かましいのですがサンプル等があれば有難く思います。
現時点で考えているのは、
1と入力されたら〇を表示、
2と入力されたら◎を表示(ここまでは書式設定で可能)
-1と入力されたら赤字で〇を表示
-2と入力されたら赤字で◎を表示
それ以外は黒字でそのまま入力された値を表示

どなたか宜しくお願い致します。

A 回答 (1件)

忘れてしまったので、かなりいい加減かつ要領が悪いですが・・・



こんなj感じではどうでしょうか。
(一応、旧型のExcel2003で確認しています)

Private Sub Worksheet_Change(ByVal Target As Range)

Dim c As Range, rng As Range, isect As Range
Dim txt As String

Set rng = Range("B2:B10") '  対象のセル範囲

Set isect = Application.Intersect(Target, rng)
If Not (isect Is Nothing) Then
For Each c In isect
txt = c.Value
c.Font.Color = vbBlack

If txt = "1" Then
c.Value = "○"
ElseIf txt = "2" Then
c.Value = "◎"
ElseIf txt = "-1" Then
c.Value = "○"
c.Font.Color = vbRed
ElseIf txt = "-2" Then
c.Value = "◎"
c.Font.Color = vbRed
End If
Next c
End If
End Sub

この回答への補足

お礼で蛇足を入れてしまいました。
条件付書式をはずしたところ、望みどおりの動きをしました。
ありがとうございました。

補足日時:2013/05/22 10:01
    • good
    • 0
この回答へのお礼

ありがとうございます!
数字入力で〇に表記が変りました。
ただ、入力時の色は赤で表記されているのですが、
〇になったときに黒に戻るみたいです。

お礼日時:2013/05/22 09:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!