• ベストアンサー

excel マクロのセルの塗りつぶしについて

曜日によって特定のセルを自動で塗りつぶしたいのですが マクロでの方法を教えてください。 例として、 G3からAL3までひと月の曜日のデータがあるのですが、 土=水色 日=赤色 祝=黄色 (これ以外は、塗りつぶしなし) のように一致する縦列の2から51の背景塗りつぶしが自動で出来ないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

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

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

>マクロでの方法を教えてください。 ということですので、書いておきます。 何かの参考になれば、幸いです。 なお、数字の羅列は、休日データのシリアル値です。必ずしも正確ではありません。 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

gimongoo
質問者

お礼

あり難きご指導有難うございました。 すみません。うまくいかなかったので シリアル値で指定がまずいのでしょうか? 休日のデータが既に他のシートで作成してあり、 2***年**月を入力するとG3:AL3に曜日(祝日も)が直接全角漢字で割振られます。21日から、次月20日の曜日になります。 もし教えて頂けたら、参考にしたいのでよろしくお願い致します。

gimongoo
質問者

補足

やはりむりでしょうか?

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

条件付き書式ではいけないのですか? 塗りつぶしたい列を選択して、条件付き書式を設定します。 =G$3="土" あとは、書式のコピーで設定できます。 http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu5.htm#条件付き書式の実例・その2

参考URL:
http://www2.odn.ne.jp/excel/waza/cformat.html#SEC1
gimongoo
質問者

お礼

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

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

マクロに拘らなければ、条件付き書式で出来ます。 http://www.relief.jp/itnote/archives/000954.php http://www.relief.jp/itnote/archives/000971.php

gimongoo
質問者

お礼

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

関連するQ&A

専門家に質問してみよう