VBAでマッチングを行いたいのですが、可能でしょうか。
やりたいことは”前日勤務表”と”当日勤務表”を比較して、追加入力された勤務時間はOKとし、調整されマイナス入力あるいは他の業務依頼書NOに読みかえられた勤務時間をNGとしてセルの色付けを行い明確化したいです。
※勤務表は毎月作成され、毎日退社時に勤務時間を入力します。但し、勤務時間調整のために、過去の勤務時間をマイナスしたり別の業務依頼書NOに読みかえたりすることが不定期で行われます。
■インプット
ファイル1:前日勤務表
ファイル2:当日勤務表
■ファイルレイアウト
(ファイル1、ファイル2 共通)
1)社員コード<数字> 2)社員名 3)業務依頼書NO<数字> 4)業務依頼書標題 5)業務CD<数字> 6)業務名 7)作業CD<数字> 8)工程 9)1日勤務時間<数字> 10)2日勤務時間<数字> ~ 39)31日勤務時間<数字> 40)備考 41)勤務時間合計<数字>
■処理
①ソート
ファイル1、ファイル2 をそれぞれ
1)社員コード + 3)業務依頼書NO + 7)作業CD の優先順で昇順にソート
②マッチング
②-1 当日勤務表ONLY
前日勤務表: 1)社員コード + 3)業務依頼書NO + 7)作業CD > 当日勤務表: 1)社員コード + 3)業務依頼書NO + 7)作業CD
⇒OK(何もしない)
②-2 前日勤務表ONLY
前日勤務表: 1)社員コード + 3)業務依頼書NO + 7)作業CD < 当日勤務表: 1)社員コード + 3)業務依頼書NO + 7)作業CD
⇒NG(当日勤務表: 1)社員コード + 3)業務依頼書NO + 7)作業CD のセルに色付けする)
②-3 マッチ
前日勤務表: 1)社員コード + 3)業務依頼書NO + 7)作業CD = 当日勤務表: 1)社員コード + 3)業務依頼書NO + 7)作業CD
if 前日勤務表:9)1日勤務時間 ≦ 当日勤務表:9)1日勤務時間
⇒OK(何もしない)
else
⇒NG(当日勤務表:9)1日勤務時間 のセルに色付けする)
if 前日勤務表:10)2日勤務時間 ≦ 当日勤務表:10)2日勤務時間
⇒OK(何もしない)
else
⇒NG(当日勤務表:10)2日勤務時間 のセルに色付けする)
《繰り返し》 ※39)31日勤務時間 まですべてチェック
以上、このような処理を行いたいのですがVBAでマッチング処理はできるのでしょうか。ややこしくて申し訳ありませんがご教示いただけますと幸いです。