• ベストアンサー

【エクセルで困っています??】特定文字の色をマクロで変更したい

お世話になります。 エクセル表の中に"有"と"無"の文字があります。 有は青に、無は赤にマクロで変更したいです。 エクセル表には関数式が入っており、置換では変更できませんでした。 他に条件式書式を使用しているため、マクロで一度に変更したいのです。 よろしくお願いします。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

シートラベルを右クリックし、メニューの「コードの表示」でVBEが表示されます。 VBEのコードウインドウに下記コードをコピペしてください。 A1:A10にデータ入力、B列に数式と想定しています。 データが入力あるいは変更されるとマクロが実行されます。 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("A1:A10")) Is Nothing = False Then With Target.Offset(, 1) If .Value = "無" Then .Font.ColorIndex = 3 ElseIf .Value = "有" Then .Font.ColorIndex = 5 End If End With End If End Sub

nk1800705
質問者

お礼

ご連絡が遅くなりました。 出来ました。!!!ありがとうございます。すばらし。。大変助かりました。 マクロも奥が深いですね。勉強になりました。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

マクロの一例です。 Dim c As Range For Each c In Range("C2:C6") With c If .Value = "無" Then .Font.ColorIndex = 3 ElseIf .Value = "有" Then .Font.ColorIndex = 5 End If End With Next c

nk1800705
質問者

お礼

ご連絡が遅くなりました。 はやばやとご回答ありがとうございます。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

どのような数式が入っているのでしょうか? 書式設定で出来ないでしょうか? 例えば =IF(A1="",0,1) といった数式で、セルの書式設定>表示形式>ユーザー定義で [赤][=0]"無";[青][=1]"有" としてみてください。

nk1800705
質問者

お礼

ありがとうございます。 Accessからインポートしており、いろいろなところに関数式が入ってます。 ぜひ参考にさせていただきます。

関連するQ&A