- ベストアンサー
エクセル2007にてマクロを使用して
エクセル2007にてマクロを使用して 選択範囲に文字があれば文字に色をつけたいのですが、どのようにすればよいでしょうか? 条件付き書式で出来るのは分かるのですが、マクロで範囲指定してやりたいのですが、お願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
For Each ~ Nextを使って、、、 '----------------------------------------- Sub Test() Dim Rng As Range For Each Rng In Range("C14:K21") If Rng.Value <> "" Then Rng.Interior.ColorIndex = 6 Else Rng.Interior.ColorIndex = xlNone End If Next Rng End Sub '-------------------------------------------- 手動で選択した範囲なら、 For Each Rng In Selection.Cells 以上です。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
こういう課題は、初心者はVBAでやらないほうが良い。 セルの値が変化したときに、自動で対応するコードが大変。イベントの考えは学習済みですか。 たとえそれらを使ってもデータの変更は捉えにくいものだ。 「条件付き書式」の機能はそれらに対応している。 ーー VBAでやるといっても、既出の回答のようなセルの値を一々聞いて色設定するのでなく、 条件付書式の設定操作そのものを、マクロの記録を採って知り、実情に合わせて、必要部分を修正するなどのコードが良かろう。 セル範囲もSelectionの表現で一般化出来ないか考えてみる。 >マクロで範囲指定してやりたいのですが 毎回指定する範囲が変わるということか?
- TNK7800
- ベストアンサー率19% (13/66)
Sub test() If Selection.Value <> "" Then Selection.Font.ColorIndex = 3 End If End Sub
補足
お忙しいところ、回答ありがとうございます 選択した範囲と、質問分にあるところは 範囲を任意で指定してという意味でございます C14:K27と指定して、その指定範囲の中に文字があれば色を着けるという 形にしたいと思ってますので よろしくおねがいします。