[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日付毎に時間の最初と最後を色づけ』(ちはる)
初めまして。
オフィスの入退室記録の管理を行う予定です。
入退室記録がCSVファイルで出力され、ピポットテーブルを活用し名前毎の時間表を下記のように作成しました。
ここで、日付毎の最初と最後の時間のセルに色をつけていきたいと思っています。
今までは手動だったのですが、スタッフの数が増えてきたのもあり自動的にできるようにしたいです。
例:
●●様
2018/5/6 8:22
2018/5/6 18:48
2018/5/7 8:40
2018/5/7 23:03
2018/5/8 8:41
2018/5/8 21:37
2018/5/9 8:37
2018/5/9 22:05
・
・
・
2018/5/14 8:45
2018/5/14 21:58
2018/5/15 8:45
2018/5/15 11:33
2018/5/15 11:41
2018/5/15 12:06
2018/5/15 13:07
2018/5/15 18:06
2018/5/15 22:43
2018/5/16 8:38
質問
2018/5/6 8:22
2018/5/6 18:48
・
・
・
2018/5/15 8:45
2018/5/15 22:43
のように日付毎の最初と最後の時間に色をつけたいです。
お力を貸していただけないでしょうか。
よろしくお願いします。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
(まっつわん) 2018/06/21(木) 12:27
1.入退室記録で記録されているデータには、入室あるいは退室いずれなのかを明示的にするデータはないのでしょうか
2.入室時刻と退室時刻とが日を跨いでしまう可能性はないのですか。
(りょぽりょぽ) 2018/06/21(木) 12:35
>1.入退室記録で記録されているデータには、入室あるいは退室いずれなのかを明示的にするデータはないのでしょうか
時間データと同時に入退室の記録も出てきますが、人によっては出入りが激しいため、単純に何時から何時まで出勤していたかがわかるようにしたいです。
>2.入室時刻と退室時刻とが日を跨いでしまう可能性はないのですか。
ありますが、午前2〜6時までは出入りできないようになっています。
(ちはる) 2018/06/21(木) 13:46
(まっつわん) 2018/06/21(木) 14:38
'A列に日付、B列に時刻、シートがアクティブな状態で実行 '最初が黄色、最後が赤 Dim 最初 As Object, 最後 As Object, c As Range Cells.Interior.Pattern = xlNone Set 最初 = CreateObject("Scripting.Dictionary") Set 最後 = CreateObject("Scripting.Dictionary") For Each c In Range("A:A").SpecialCells(2) If IsDate(c.Value) Then If IsEmpty(最初(c.Value)) Or 最初(c.Value) >= c.Offset(, 1).Value Then 最初(c.Value) = c.Offset(, 1).Value If 最後(c.Value) <= c.Offset(, 1).Value Then 最後(c.Value) = c.Offset(, 1).Value End If Next c For Each c In Range("A:A").SpecialCells(2) If IsDate(c.Value) Then If 最初(c.Value) = c.Offset(, 1).Value Then c.Resize(, 2).Interior.Color = vbYellow If 最後(c.Value) = c.Offset(, 1).Value Then c.Resize(, 2).Interior.Color = vbRed End If Next c End Sub (mm) 2018/06/21(木) 17:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.