重要なお知らせ

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

電子書籍の厳選無料作品が豊富!

あるシートに、条件付き書式が設定されているセルがたくさんあります。
右隣りのセルの値が "ホゲホゲ" なら、青い色で塗りつぶす。
左隣りのセルの値が "ホゲホゲ" なら、青い色で塗りつぶす。
すぐ上のセルの値が "ホゲホゲ" なら、青い色で塗りつぶす。
・・・
このように、「 "ホゲホゲ" なら、青い色で塗りつぶす。」 という条件付き書式がシートの中にたくさんあります。その "ホゲホゲ" を "ピヨピヨ" に変えたいのです。

"ホゲホゲ" を "ピヨピヨ" に、一つ一つ手作業でやればできると思いますが、いっぺんに変えるにはどのようにすればよろしいでしょうか。

質問者からの補足コメント

  • ご回答ありがとうございます。

    参考になりました。

    ただ、私がやってみたら、次のような問題が起こるようです。
    ・シートでR1C1形式を使っているのに、なぜか、条件付き書式の条件が勝手にA1形式になる。
    ・条件付き書式の適用先に複数の領域が設定されている場合に、エラーになる。

    ご提示されたVBAのプログラムをいろいろ自分なりに改造もしてみたので、それらに起因するのかもしれません。

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/10/07 07:34

A 回答 (1件)

普通の操作(置換とか)では、出来ないかもしれません(私はに出来なかったです)!!


VBAで良いのであれば、こんな感じでしょうか?

Sub sample()
Dim r As Range
Dim c As FormatCondition
For Each r In Cells.SpecialCells(xlCellTypeAllFormatConditions)
For Each c In r.FormatConditions
If c.Type = xlExpression Then
c.Modify xlExpression, , Replace(c.Formula1, "ホゲホゲ", "ピヨピヨ")
End If
Next c
Next r
End Sub
この回答への補足あり
    • good
    • 1

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