|
建設業です。
毎月の作業内容毎のユニット(1ユニット=15分)を計算しています。
引き継がれている書式があり、その体裁は崩したくありません。
(A)入力セルについて
(A1)Sheets("月間ユニット集計")のRange("R18:DI41")に縦方向に31日、横方向に24時間(15分毎)に区切った月表があります。
(A2)月表は時間区分(定時間、時間外、深夜時間、休日、法定休日等々)にセル毎に色分けされています。
(A3)作業者は毎日当日の作業番号(6桁数値)をその作業の開始時間のセルに入力します。
(A4)1日の中で異なる作業が発生し、その都度作業番号を開始時間のセルに入力します。
(A5)作業が発生していない時間(昼休み、会議、出張等)は当該時間内のセルの色を無色にします。
(B)集計セルについて
(B1)Sheets("ユニット集計")のRange("A50:A69")に作業番号、Range("H50:N69")に時間区分が設定されています。
(B2)月の作業番号毎、時間区分毎のユニット数を月末に集計、入力します。
(C)留意すること
(C1)作業者の入力ミスで物件番号の入ったセルの着色を消している。→ユニット数にはカウントされない。
(C2)日の始まりの着色セルに物件番号を設定していない。→作業番号不明。
(C3)次の作業番号までの間のセルに無着色セルがある場合(A5)も次のセルが着色セル&空白なら続いて同じ作業番号のユニットとしてカウントする。
(D)VBAでしたいこと
(D1)(B2)の集計、入力を自動、かつ短時間で処理したい。
(D2)(C1)、(C2)の入力設定忘れをメッセージ表示したい。
(E)試したこと
作業番号が入力されたセルの作業番号を、異なる作業番号が入力されているセルまでコピペし、
セルの色毎にそれを集計。集計後同じ作業番号が続くセルをClearContents。
→処理時間が永遠かと思われるほどかかりました。
どなたかお知恵を貸してくれる方、いらっしゃいましたら宜しくお願いします。
|
|