質問編集履歴
1
月毎で分かれていたシートを1シートにしました。マクロも記載しましたので、宜しくお願いします。
test
CHANGED
File without changes
|
test
CHANGED
@@ -43,3 +43,129 @@
|
|
43
43
|
|
44
44
|
|
45
45
|
マクロでも関数でも構いませんので、お力添えをお願いします。
|
46
|
+
|
47
|
+
==========================
|
48
|
+
|
49
|
+
追加:丸投げの質問になっておりまして、大変申し訳ございません。
|
50
|
+
|
51
|
+
追加事項で「6月~5月」まで月名のシートがあります。
|
52
|
+
|
53
|
+
それを、まとめシートとしてPowerQueryで一覧表にしました。(1576件)
|
54
|
+
|
55
|
+
それを元に反映先シートの1行に検索条件、5行から反映をしていきたいです。
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
9月~6月まとめシート(シート名:30年度一覧表)
|
60
|
+
|
61
|
+
|A |B|C||E||F |G||J|K||N|O|
|
62
|
+
|
63
|
+
|:--|:--:|--:|
|
64
|
+
|
65
|
+
||
|
66
|
+
|
67
|
+
作業日|番号|コード||作業名| |作業員名①|終了時間①||作業員名②|終了時間②||作業員名③|終了時間③|
|
68
|
+
|
69
|
+
9/1 |1 |6 | |おにぎり作り| |田中 |16:00 | |春田 |12:30 | |松永 |16:00 |
|
70
|
+
|
71
|
+
9/1 |2 |16 | |出荷作業 | |山田 |17:00 | |田中 |14:20 | |松永 |16:00 |
|
72
|
+
|
73
|
+
9/2 |3 |19 | |配達まわり | |中野 |15:30 | |田中 |18:00 | |松永 |16:00 |
|
74
|
+
|
75
|
+
|省略|||||||||||||||
|
76
|
+
|
77
|
+
||
|
78
|
+
|
79
|
+
6/29 |1 |6 | |おにぎり作り| |田中 |16:00 | |春田 |12:30 | |松永 |16:00 |
|
80
|
+
|
81
|
+
6/30 |2 |16 | |出荷作業 | |山田 |17:00 | |田中 |14:20 | |松永 |16:00 |
|
82
|
+
|
83
|
+
6/30 |3 |19 | |配達まわり | |中野 |15:30 | |田中 |18:00 | |松永 |16:00 |
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
反映先(シート名:反映先)9/15日~10月15日の田中のデータだけ抽出
|
88
|
+
|
89
|
+
|A|B|C|
|
90
|
+
|
91
|
+
|:--|:--:|--:|
|
92
|
+
|
93
|
+
|検索条件|||
|
94
|
+
|
95
|
+
|2018/9/16|2018/10/15|田中|
|
96
|
+
|
97
|
+
|作業日|作業名 |終了時間|
|
98
|
+
|
99
|
+
9/16|おにぎり作り|16:00 |
|
100
|
+
|
101
|
+
9/16|出荷作業 |14:20 |
|
102
|
+
|
103
|
+
9/17|配達まわり |18:00 |
|
104
|
+
|
105
|
+
```VBA
|
106
|
+
|
107
|
+
Sub 反映内容()
|
108
|
+
|
109
|
+
Dim ws1 As Worksheet
|
110
|
+
|
111
|
+
Dim ws2 As Worksheet
|
112
|
+
|
113
|
+
Dim Staff As String
|
114
|
+
|
115
|
+
Dim StaD As Date
|
116
|
+
|
117
|
+
Dim EndD As Date
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
'
|
122
|
+
|
123
|
+
Set ws1 = Sheets("30年度一覧表") '抽出元シート
|
124
|
+
|
125
|
+
Set ws2 = Sheets("抽出先") '抽出先シート
|
126
|
+
|
127
|
+
Staff = ws2.Range("A3").Value
|
128
|
+
|
129
|
+
StaD = ws2.Range("A1").Value
|
130
|
+
|
131
|
+
EndD = ws2.Range("A2").Value
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
'オートフィルタ
|
136
|
+
|
137
|
+
ws1.AutoFilterMode = False 'オートフィルタ解除
|
138
|
+
|
139
|
+
ws1.Range("A:R").AutoFilter Field:=6, Criteria1:=Staff '6番目の列(F列)の条件
|
140
|
+
|
141
|
+
ws1.Range("A:R").AutoFilter Field:=10, Criteria1:=Staff '10番目の列(J列)の条件
|
142
|
+
|
143
|
+
ws1.Range("A:R").AutoFilter Field:=14, Criteria1:=Staff '14番目の列(N列)の条件
|
144
|
+
|
145
|
+
ws1.Range("A:R").AutoFilter Field:=1, Criteria1:=">=" & StaD, Operator:=xlAnd, Criteria2:="<=" & EndD '14番目の列(N列)の条件
|
146
|
+
|
147
|
+
'コピー
|
148
|
+
|
149
|
+
ws2.Range(Cells(5, 1), Cells(50, 4)).Clear 'Sheet2セル項目名より↓削除
|
150
|
+
|
151
|
+
ws1.Range("A2:A").Copy ws2.Range("A5")
|
152
|
+
|
153
|
+
ws1.Range("E2:E").Copy ws2.Range("B5") ’これ以下がわかりません
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
ws1.AutoFilterMode = False 'オートフィルタ解除
|
158
|
+
|
159
|
+
End Sub
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
```
|
164
|
+
|
165
|
+
まとめシートの田中(F列 or J列 or N列)で日付(A列)毎月16日~翌月15日まで
|
166
|
+
|
167
|
+
該当したら反映先シートに
|
168
|
+
|
169
|
+
日付(一覧表A列→反映先A列)・作業名(一覧表F列→反映先B列)・終了時間(一覧表G列 or K列 or O列→C反映先C列)
|
170
|
+
|
171
|
+
型が一致しないエラーがでています(13行)
|