[[20190803191448]] 『条件付き書式を条件該当のセル周辺にも反映させた』(SK−3) ページの最後に飛ぶ

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

 

『条件付き書式を条件該当のセル周辺にも反映させたいです』(SK−3)

勤務表を作成しています。

1・2行目…日付と曜日を3列ずつに結合させて入力
3行目以降…4行ごとに結合し、勤務体制を入力(上3行が勤務内容、4行目が始業・終業・就労時間)

 A B C D  E F G  E F G
1   8/1   8/2   8/3
2    月     火     水
3
4 山 12-現場    有
5   19-21事務
6 元 12 21 8   9 17 7   0 0 0

雑ですすみません…大体こんな感じです。

上の場合、F4セル(「有」と入力したセルです)に「有」が入力された場合と、何も記入されていない場合(8/3の状態)は、どちらも休暇としてセルに背景色をつけています。
これを自動で行えないかと考えています。

背景色をつけるのは、日付・人物ごとの枠線内(8/2の場合、E3からG6)です。
セルの結合は人物名と日付・曜日のみで、他のセルはすべて独立しています。

条件付き書式を使おうと思ったのですが、コピペを多用するため条件が崩れてしまい…マクロを考えています。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  Dim rng As Range, FirstCell As Range
  Set rng = Cells.Find("有")

  If Not rng Is Nothing Then
    Set FirstCell = rng
    Do
        Set rng = Cells.FindNext(rng)
        Range(rng.Offset(-1, -1), rng.Offset(3, 1)).Interior.Color = RGB(147, 205, 221)
    Loop While rng.Address <> FirstCell.Address
  End If

End Sub

上のVBEで、色付けまではできましたが、「有」の字を消しても、色がついたままになってしまいます。

ちなみに…当初はすべてのセルに背景色を付け、始業・終業時刻を入力することで背景色をクリアさせるという条件付き書式を設定していましたが、
有給休暇の場合も始業・終業時刻を入力しているため、背景色をクリアする条件付き書式では対応できませんでした。
どなたか知恵をお貸しいただけませんでしょうか…?

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


追記です。

完全シフト制のため、本人に休暇希望日(有給含む)を申告してもらい、確定前の希望休暇日を一旦別の色(黄色)で塗りつぶし、勤務体制が確定したら、休暇日に再度色付け(水色)しています。

なので、ある程度塗りつぶしなどの書式設定を行いたいのも、条件付き書式をあきらめた理由です。
(SK−3) 2019/08/03(土) 19:52


コメント返信:

[ 一覧(最新更新順) ]


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