[[20151008160953]] 『出荷期限日なるとセルを色づけしたいです。』(きいちご) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『出荷期限日なるとセルを色づけしたいです。』(きいちご)

前回、初めての初心者にも関わらず、ありがとうございました。

今回、別にVBAでの組み込み方を教えていただきたく書き込みます。

       F(出荷制限日数)   K(賞味期限日)
6         60          2015/11/20
7                     2015/12/20
8                      2016/2/8
9
10
11
12

14        90           2015/11/25
15                    2015/12/15
16                    2016/1/2
17                    2016/6/10
18
19
20
21
22

以下同様

6-12で同一商品、賞味期限は昇順にしています。同様に、14-22、24-31と
商品ごとにしています。最後は185行まであります。
Fの列に出荷制限の日数を商品ごとにいれています。

で、組み込みたいのが、
今日(2015/10/1)だと、K列の各列の賞味期限が出荷制限日数未満だと
セルを赤く色づけ、文字を白色にしたいのです。

たとえば、今日(2015/10/1)とすると、
Fの6,7は赤く、8行目はそのままといった感じになるようにしたいです。
また、9-12と18-22は空白なので赤くならないようにしたいです。

説明ちゃんとできているかわかりませんが、どなたか教えていただけると
助かります。

条件付き書式だと1つずつで数が多く、重たくなり、マクロでと思っています。

よろしくお願いします。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


Sub main()
    Dim cl As Range, sht As Worksheet
    Set sht = Sheets("Sheet1") '実際の処理対象シート名を記載
        For Each cl In Intersect(sht.Columns("K").Cells, sht.UsedRange)
             cl.Offset(, -5).Interior.Pattern = xlNone
             cl.Offset(, -5).Font.Color = 0
            If IsDate(cl.Value) Then
                If Date + cl.Offset(1, -5).End(xlUp).Value > cl.Value Then _
                cl.Offset(, -5).Interior.Color = 255: cl.Offset(, -5).Font.Color = RGB(255, 255, 255)
            End If
        Next cl
End Sub
(mm) 2015/10/08(木) 17:49

 条件付き書式でいけません?
 K6:K185を選択して、条件付き書式

 =AND($K6<>"",$K6<=LOOKUP(10000,$F$6:$F6)+TODAY())

 これでできると思うけど・・・

(稲葉) 2015/10/08(木) 17:52


 稲葉さんからコメントがある通り、条件付書式がいいと思います。
 xl2007以降、条件付書式の「適用範囲」という考え方が導入されていますので
 もちろん、各セルの変化を裏でウォッチしているわけですけど、たいしたことはないですし、領域のセル数が多いので
 ブックが重くなるということはないと思いますよ。
 (しかも、多いといっても、たかだか 180セルですし)

(β) 2015/10/08(木) 18:07


みなさん、ありがとうございました。

適用範囲があるんですね、勉強になりました。

今回は条件付き書式でします。
試したところ、重さもさほど増えないので、よかったです。

本当にありがとうございました。

今後もよろしくお願いします。
(きいちご) 2015/10/09(金) 14:06


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.