A列に日付、G列に作業名、K列、P列、U列に作業員が入るシートがあります。
このシートは月ごとに分かれております。
1日に何件か作業があり、1人でやる事もあれば、複数でやることもあります。
その中で、作業員毎に作業日(A列)と作業名(G列)を抽出して出勤簿を別シートで作成したいです。
一覧表(シート名9月)
|A |B|C||G||K |L||P|Q|
|:--|:--:|--:|
||
作業日|番号|コード||作業名| |作業員名①|終了時間①||作業員名②|終了時間②|
9/1 |1 |6 | |おにぎり作り| |田中 |16:00 | |春田 |12:30 |
9/1 |2 |16 | |出荷作業 | |山田 |17:00 | |田中 |14:20 |
9/2 |3 |19 | |配達まわり | |中野 |15:30 | |田中 |18:00 |
反映先(シート名:田中)
A | B | C |
---|---|---|
作業日 | 作業名 | 終了時間 |
9/1 | おにぎり作り | 16:00 |
9/1 | 出荷作業 | 14:20 |
9/2 | 配達まわり | 18:00 |
マクロでも関数でも構いませんので、お力添えをお願いします。
==========================
追加:丸投げの質問になっておりまして、大変申し訳ございません。
追加事項で「6月~5月」まで月名のシートがあります。
それを、まとめシートとしてPowerQueryで一覧表にしました。(1576件)
それを元に反映先シートの1行に検索条件、5行から反映をしていきたいです。
9月~6月まとめシート(シート名:30年度一覧表)
|A |B|C||E||F |G||J|K||N|O|
|:--|:--:|--:|
||
作業日|番号|コード||作業名| |作業員名①|終了時間①||作業員名②|終了時間②||作業員名③|終了時間③|
9/1 |1 |6 | |おにぎり作り| |田中 |16:00 | |春田 |12:30 | |松永 |16:00 |
9/1 |2 |16 | |出荷作業 | |山田 |17:00 | |田中 |14:20 | |松永 |16:00 |
9/2 |3 |19 | |配達まわり | |中野 |15:30 | |田中 |18:00 | |松永 |16:00 |
|省略|||||||||||||||
||
6/29 |1 |6 | |おにぎり作り| |田中 |16:00 | |春田 |12:30 | |松永 |16:00 |
6/30 |2 |16 | |出荷作業 | |山田 |17:00 | |田中 |14:20 | |松永 |16:00 |
6/30 |3 |19 | |配達まわり | |中野 |15:30 | |田中 |18:00 | |松永 |16:00 |
反映先(シート名:反映先)9/15日~10月15日の田中のデータだけ抽出
A | B | C |
---|---|---|
検索条件 | ||
2018/9/16 | 2018/10/15 | 田中 |
作業日 | 作業名 | 終了時間 |
9/16 | おにぎり作り | 16:00 |
9/16 | 出荷作業 | 14:20 |
9/17 | 配達まわり | 18:00 |
```VBA | ||
Sub 反映内容() | ||
Dim ws1 As Worksheet | ||
Dim ws2 As Worksheet | ||
Dim Staff As String | ||
Dim StaD As Date | ||
Dim EndD As Date |
'
Set ws1 = Sheets("30年度一覧表") '抽出元シート
Set ws2 = Sheets("抽出先") '抽出先シート
Staff = ws2.Range("A3").Value
StaD = ws2.Range("A1").Value
EndD = ws2.Range("A2").Value
'オートフィルタ
ws1.AutoFilterMode = False 'オートフィルタ解除
ws1.Range("A:R").AutoFilter Field:=6, Criteria1:=Staff '6番目の列(F列)の条件
ws1.Range("A:R").AutoFilter Field:=10, Criteria1:=Staff '10番目の列(J列)の条件
ws1.Range("A:R").AutoFilter Field:=14, Criteria1:=Staff '14番目の列(N列)の条件
ws1.Range("A:R").AutoFilter Field:=1, Criteria1:=">=" & StaD, Operator:=xlAnd, Criteria2:="<=" & EndD '14番目の列(N列)の条件
'コピー
ws2.Range(Cells(5, 1), Cells(50, 4)).Clear 'Sheet2セル項目名より↓削除
ws1.Range("A2:A").Copy ws2.Range("A5")
ws1.Range("E2:E").Copy ws2.Range("B5") ’これ以下がわかりません
ws1.AutoFilterMode = False 'オートフィルタ解除
End Sub
まとめシートの田中(F列 or J列 or N列)で日付(A列)毎月16日~翌月15日まで 該当したら反映先シートに 日付(一覧表A列→反映先A列)・作業名(一覧表F列→反映先B列)・終了時間(一覧表G列 or K列 or O列→C反映先C列) 型が一致しないエラーがでています(13行)