dポイントプレゼントキャンペーン実施中!

曜日によって特定のセルを自動で塗りつぶしたいのですが
マクロでの方法を教えてください。

例として、
G3からAL3までひと月の曜日のデータがあるのですが、
土=水色 日=赤色 祝=黄色 (これ以外は、塗りつぶしなし)
のように一致する縦列の2から51の背景塗りつぶしが自動で出来ないでしょうか?

A 回答 (4件)

私は、読み違えをしていましたね。



>2***年**月を入力するとG3:AL3に曜日(祝日も)が直接全角漢字で割振られます。
その行は、シリアル値の行が、G1 や G2 にあって、それを、「=TEXT(G1,"aaa")」 などとしてあるということですか? 例えば、 「= G1」 として、書式側で、「aaa」としてもよいのですが。私のマクロは、シリアル値に沿って、色を変更していきますから、祭日などは、コードを変えない限りはとても不可能ですね。

具体的に(式などやセルの番地)、その日付と曜日のデータの内容を教えてくださいませんか?
    • good
    • 0

>マクロでの方法を教えてください。


ということですので、書いておきます。
何かの参考になれば、幸いです。
なお、数字の羅列は、休日データのシリアル値です。必ずしも正確ではありません。

Sub PatterColor()
 Dim Rng As Range
 Dim c As Range
 Dim Holidays As Variant
 Const Mizu As Integer = 8 '水色
 Const Aka As Integer = 3 '赤
 Const Ki As Integer = 6 '黄
 '2005/1/2~2006/12/23
 Holidays = Array(38353, 38362, 38394, 38432, 38471, 38475, _
          38476, 38477, 38551, 38614, 38618, 38635, _
          38659, 38679, 38709, 38719, 38726, 38759, _
          38797, 38836, 38840, 38841, 38842, 38915, _
          38978, 38983, 38999, 39024, 39044, 39074)
 '塗りつぶす範囲
 Set Rng = Range("G3:AL3")
 Rng.Interior.ColorIndex = xlnon
 For Each c In Rng
  If IsDate(c) Then
   Select Case True
    Case 1 = Weekday(c)
     c.Interior.ColorIndex = Aka
    Case 7 = Weekday(c)
     c.Interior.ColorIndex = Mizu
    Case Not IsError(Application.Match(c.Value2, Holidays, 0))
     c.Interior.ColorIndex = Ki
   End Select
  End If
 Next c
End Sub

この回答への補足

やはりむりでしょうか?

補足日時:2005/04/25 20:36
    • good
    • 0
この回答へのお礼

あり難きご指導有難うございました。
すみません。うまくいかなかったので

シリアル値で指定がまずいのでしょうか?

休日のデータが既に他のシートで作成してあり、
2***年**月を入力するとG3:AL3に曜日(祝日も)が直接全角漢字で割振られます。21日から、次月20日の曜日になります。
もし教えて頂けたら、参考にしたいのでよろしくお願い致します。

お礼日時:2005/04/25 18:58

条件付き書式ではいけないのですか?



塗りつぶしたい列を選択して、条件付き書式を設定します。
=G$3="土"

あとは、書式のコピーで設定できます。

http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex …条件付き書式の実例・その2

参考URL:http://www2.odn.ne.jp/excel/waza/cformat.html#SEC1
    • good
    • 0
この回答へのお礼

あり難きご指導有難うございました。

お礼日時:2005/04/25 18:46

マクロに拘らなければ、条件付き書式で出来ます。



http://www.relief.jp/itnote/archives/000954.php
http://www.relief.jp/itnote/archives/000971.php
    • good
    • 0
この回答へのお礼

あり難きご指導有難うございました。

お礼日時:2005/04/25 18:45

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