プロが教えるわが家の防犯対策術!

エクセル、条件付き書式で、特定の文字に色を付ける

よろしくお願いします。

下記の文章が一つのセルに入っているとします。

「今日もいいお天気ですね」

で、条件付き書式で
「特定の文字列」→「次の値を含む」→「天気」
で赤文字に変わるようにすると、
そのセルの文章がすべて赤文字に変わってしまいます。

「今日もいいお天気ですね」がすべて赤文字

そうではなく「天気」のみ色を変えたいんですけどそんなこと可能ですか?

「今日もいいお(黒文字)天気(赤文字)ですね」(黒文字)
という風に。

出来るとしたら方法を教えて頂きたくよろしくお願い申し上げます。

A 回答 (3件)

こんにちは!



No.1さんがおっしゃっているように条件付き書式では無理だと思います。
VBAであれば可能です。
一例です。
A列すべてを対象としてみました。

Sub Sample1()
 Dim i As Long
 Dim k As Long
 Dim c As Range
 Dim myStr As String

  myStr = Application.InputBox("特定文字を入力")
   For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
    Set c = Cells(i, "A")
     c.Font.ColorIndex = xlAutomatic
     If InStr(c, myStr) > 0 Then
      For k = 1 To Len(c)
       If Mid(c, k, Len(myStr)) = myStr Then
        c.Characters(Start:=k, Length:=Len(myStr)).Font.ColorIndex = 3
       End If
      Next k
     End If
   Next i
End Sub

※ 条件付き書式が設定してあると、そちらが優先され何も変化しません。
条件付き書式はクリアにして、マクロを実行してみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

助かりました

ご回答ありがとうございました。
VBAで、なんとか頑張ります。
コード書いていただきありがとうございます。

お礼日時:2020/09/02 10:37

色を変えたい文字が入っているセルの数は多いですか?それとも単体ですか?


一個ずつのセルを手作業ならばできますが。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
文字が入ってるセルというより使用しているセル自体多いです。
色を変えたい文字はその時によってランダムです。

お礼日時:2020/09/02 11:10

セル内の特定の文字列だけを書式変更されたいというお話であれば、出来ません。


あくまで条件書式でできるのはセル全体に適用する書式のみです。
    • good
    • 0
この回答へのお礼

ありがとう

ご回答ありがとうございました。出来ないのですね。わかりました。

お礼日時:2020/09/02 10:36

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