質問編集履歴

1

月毎で分かれていたシートを1シートにしました。マクロも記載しましたので、宜しくお願いします。

2018/10/12 05:52

投稿

ghaopira
ghaopira

スコア10

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行)