| 
    
     |  | 建設業です。 毎月の作業内容毎のユニット(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。
 →処理時間が永遠かと思われるほどかかりました。
 
 どなたかお知恵を貸してくれる方、いらっしゃいましたら宜しくお願いします。
 
 |  |