- ベストアンサー
条件付書式の設定
セルの数式に「+」が含まれる場合赤フォント… とかって設定は出来ますか? 例えば… =ROUND($G66*K$2,-1)+40 という関数が入っている場合、最後の「+」を感知して 書式を設定する…みたいな。 色々と調べてみたのですが、解りませんでした。 出来るか出来ないか、出来るならその方法をどうか教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 作業セル(作業列)を使用すれば出来ます。 数式が入ったセルをB1(B列)として、作業列をC1(C列)とすると、以下の手順で。 ・C1を選択して、メニューの[挿入]→[名前]→[定義]で、[名前の定義]ダイアログを表示する ・[名前]欄に適当な名前(仮に「数式」とする)を入力する ・[参照範囲]欄に、 「=GET.CELL(6,B1) & LEFT(NOW(),0)」 と入力して[OK] ・C1に、「=数式」と入力する (C1にB1の数式そのものが表示される) ・B1を選択して、条件付き書式で、 「数式が」 「=FIND("+",C1)」 として、書式を設定する 以上で、出来ると思います。 作業列は非表示にするなどしておけばいいと思います。 もし、作業列を使用したくないなら、VBAで処理するしかないでしょう。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
VBAになりますが、質問のようにしたい、(式の入っているかも知れない)セルを範囲指定して(複数セルを範囲指定は勿論可)下記を実行すると、数式に+があると、セルの色が黄色になります。Sheet3でやってます。 (セルを範囲指定しないと変化は起こりませんので注意。) Sub test03() Worksheets("sheet3").Activate Dim cl As Range For Each cl In Selection '範囲指定した各セル1つ1つについて s = cl.FormulaLocal 'セルの式を捉える p = InStr(s, "+") '+が文字列に含まれているか If p <> 0 Then cl.Interior.ColorIndex = 6 '黄色。赤は3 End If Next End Sub 文字を赤くするなら cl.Font.ColorIndex = 3に置換えてください。 (cl.Interior.ColorIndex = 6の行) セルに設定された関数式を文字列として捉える関数が 判らず、VBAの回答になりました。
お礼
お礼が遅くなってしまって、すみませんでした!! VBAは、まだ記録するに毛が生えた程度の処理しか できないのですが、このマクロで勉強したいと思います! どうもありがとうございました! また何かありましたら、よろしくご指導ください(^-^)
お礼
お礼が遅くなってしまってすみません!!(>_<) 本当にありがとうございました! できるんですね~。感動しました~。 エクセル奥が深いなぁ。 すごーく勉強になります! また何かあったら、教えてください(^-^) よろしくお願いします。