10日毎に罫線を太くするには?

Question 104.4 Excel VBA Borad (掲示板)より Previous Next
業務で作成する資料が同じような作業が多いので、最近になってVBAをやり始め、非常にこちらのページを重宝させていただいてます。
さて、件名にも記載させていただきましたが、業務で作成する表で10日毎単位で罫線を太くしたいのです。

FAQにあります「
3カ月に跨る工程表の月の見出しを括って罫線を区切りだけに設定するには?」っていうところの一部分を参考にしたのですが、どうもうまくいきません。
基本その営業日までしか表は作成しないので (たとえば今日が9月16日なら9月16日までの表)、右端から一つずつ戻ってっていう風にしたのですが…
また、営業日しか数字が載らないので、日祝で数字がなかった場合は1日から10個目が必ずしも10日とは限らない表なのです…
どのように日付を検索し、判断させればいいのでしょうか??
ちなみに10日や20日の右側のみ (10日や20日が非営業日の場合は9日や19日にという具合に…) の罫線を太くできればいいです。
Answer   2011.9.26 永井善王
FAQに掲載された事例を参考にして奮闘なさっているのですね。
工程表 ここでは、ズバリの回答は丸投げ質問を助長することになるかと思って避けています。が、只今、近く出版される本に取り組んでいて殆ど時間が取れません。
よって、下記マクロを参考にして後はご自分で仕上げてください。 実行結果は上図のようになるはずです。 ガンバ!
Sub 旬ごとに区切り線を入れる()
    行 = 1
    左端列 = Cells(行, Columns.Count).End(xlToLeft).Column
    For 列 = 1 To 左端列 - 1
        If Cells(行, 列) > Cells(行, 列 + 1) Then                  '月が変わったら
            Cells(行, 列).Borders(xlEdgeRight).Weight = xlMedium   '右側線:中太線
        ElseIf Cells(行, 列) <= 10 And Cells(行, 列 + 1) > 10 Then '上旬から中下旬へ
            Cells(行, 列).Borders(xlEdgeRight).Weight = xlMedium
        ElseIf Cells(行, 列) <= 20 And Cells(行, 列 + 1) > 20 Then '中旬から下旬へ
            Cells(行, 列).Borders(xlEdgeRight).Weight = xlMedium
        End If
    Next
End Sub
マクロの前提条件
'下旬最終日は最大で月末日とする(大の月の30日は対象外)
'夏休みとかで中旬がない場合には対応可能
'下旬がない場合は考慮外

 

Excel VBA Macro