文字(数字)が入ってるときに文字を赤にするマクロ
また一つ技を覚えた。今回私が作りたかったマクロは、数字が入ってるときだけそのセルの文字を赤にする、というマクロである。まあ、ウチの職場は当番○時間と、他の仕事、みたいな状態になってるんだが、その○時間は朝3時間午後4時間あるいは5時間というコマだが、まあ、入れたい人は自分の希望時間をいれて、どうでもいい人は、だめなところに×をいれとけ、ってなエクセルをまわして、それを合計で○時間になるように最後に調整するんだな。21人分。で、まなるべくなら、希望でいれた時間の部分は動かさないでおこうとは思うものの、その列全部赤にすると、別に私がいれた数字も赤になるわけで、その人が希望でいれた時間が区別つかなくなくわけだ。条件付書式をやっても、同じこと。で、これはマクロでやるしかない、とずっと思ってたのだな。教科書に数字がある時赤くセル背景をそめるってのはあったんだが、字を赤にするのはなかった。でもそれは自動記録でやってみて、わかったから、すぐ解決。しかし、問題は範囲指定がわからんかった。全部のセル対象でいいんだけど、それもみあたらない。カウンター使ってもいいが、行と列両方変数にするやり方がわからず、単純にcells(変数1,変数2)ではifがうまくいかないようなのだ。で、全開エクセルVBAのページを探したら、一気に行列変数をしていできるやり方がみつかった。Setステートメントってよぶのか?これだよ。これ。これは使えるマクロであーーる。Sub 数字で色()'C4からW96まで文字はいってたら赤Dim 範囲, 要素Set 範囲 = Range("c4:W96")For Each 要素 In 範囲If 要素.Value > 0.5 Then要素.Font.ColorIndex = 3End IfNext 要素End Sub