質問編集履歴

9

画像差し替え

2019/03/14 08:38

投稿

carrin
carrin

スコア15

test CHANGED
File without changes
test CHANGED
@@ -356,4 +356,4 @@
356
356
 
357
357
  ```
358
358
 
359
- ![イメージ説明](ff2c8811ec9b71450e7bd94988344f3c.jpeg)
359
+ ![イメージ説明](87ce324f36888f787855b3985f536918.jpeg)

8

検証③ 追記

2019/03/14 08:38

投稿

carrin
carrin

スコア15

test CHANGED
File without changes
test CHANGED
@@ -315,3 +315,45 @@
315
315
 
316
316
 
317
317
  この状態で実行すると、以下の画像のように抽出される。
318
+
319
+
320
+
321
+ 検証③ 書式を文字列で設定しても「日付」で抽出されてしまう
322
+
323
+ ```
324
+
325
+ 'CStr 関数は、指定した値を文字列型 (String) に変換する
326
+
327
+ S2.Cells(R, "A").Value = CStr(S2.Cells(R, "A").Value)
328
+
329
+
330
+
331
+ '「値一致」シートの値を、「値の元」シートのA列と比較して一致していたら
332
+
333
+ If S2.Cells(R, "F").Text = ws.Cells(iRowI, "A").Text Then
334
+
335
+ 'S2.Cells(R, "A").Value = ws.Cells(Rows.Count, "A")
336
+
337
+
338
+
339
+ 'その行の値を転記する
340
+
341
+ S2.Cells(R, "A").Value = ws.Cells(iRowI, "A").Value
342
+
343
+
344
+
345
+
346
+
347
+ ' S2.Cells(R, "A").Value = Format("2019/01/01", "yyyy")
348
+
349
+ ' S2.Cells(2, 1).Value = Format("2019/01/01", "yyyy") '検証①
350
+
351
+ ' Range("A2:A100").Value = Format("2019/01/01", "yyyy") '検証②
352
+
353
+
354
+
355
+ End If
356
+
357
+ ```
358
+
359
+ ![イメージ説明](ff2c8811ec9b71450e7bd94988344f3c.jpeg)

7

文言の修正・追記

2019/03/14 08:30

投稿

carrin
carrin

スコア15

test CHANGED
File without changes
test CHANGED
@@ -258,6 +258,12 @@
258
258
 
259
259
  この状態で実行すると、以下の画像のように抽出される。
260
260
 
261
+ 参照先の設定を誤っているのか、A1のセルだけ表示がおかしいです。
262
+
263
+ 元に戻しても、このA2の表示が修正されない。
264
+
265
+ 引き続きこちらも修正・検証中。
266
+
261
267
 
262
268
 
263
269
  ![イメージ説明](a44d3516d0c5649b97f5bfc7d3391a68.png)

6

検証内容を追記

2019/03/14 07:20

投稿

carrin
carrin

スコア15

test CHANGED
File without changes
test CHANGED
@@ -209,3 +209,103 @@
209
209
 
210
210
 
211
211
  ```
212
+
213
+
214
+
215
+ 2019/03/14 上手くいかないので引き続き検証中(備忘録も兼ねてソースを残します)
216
+
217
+
218
+
219
+ 検証①
220
+
221
+ ```
222
+
223
+
224
+
225
+ '「値一致」シートの値を、「値の元」シートのA列と比較して一致していたら
226
+
227
+ If S2.Cells(R, "F").Text = ws.Cells(iRowI, "A").Text Then
228
+
229
+ 'S2.Cells(R, "A").Value = ws.Cells(Rows.Count, "A")
230
+
231
+
232
+
233
+ 'その行の値を転記する
234
+
235
+ S2.Cells(R, "A").Value = ws.Cells(iRowI, "A").Value
236
+
237
+
238
+
239
+ 'CStr 関数は、指定した値を文字列型 (String) に変換する
240
+
241
+ S2.Cells(R, "A").Value = CStr(S2.Cells(R, "A").Value)
242
+
243
+
244
+
245
+ ' S2.Cells(R, "A").Value = Format("2019/01/01", "yyyy")
246
+
247
+ S2.Cells(2, 1).Value = Format("2019/01/01", "yyyy") '検証①
248
+
249
+ ' Range("A2:A30").Value = Format("2019/01/01", "yyyy") '検証②
250
+
251
+
252
+
253
+ End If
254
+
255
+ ```
256
+
257
+ (コメント多く読みにくくてすみません)
258
+
259
+ この状態で実行すると、以下の画像のように抽出される。
260
+
261
+
262
+
263
+ ![イメージ説明](a44d3516d0c5649b97f5bfc7d3391a68.png)
264
+
265
+
266
+
267
+ 検証②
268
+
269
+ ```
270
+
271
+
272
+
273
+ '「値一致」シートの値を、「値の元」シートのA列と比較して一致していたら
274
+
275
+ If S2.Cells(R, "F").Text = ws.Cells(iRowI, "A").Text Then
276
+
277
+ 'S2.Cells(R, "A").Value = ws.Cells(Rows.Count, "A")
278
+
279
+
280
+
281
+ 'その行の値を転記する
282
+
283
+ S2.Cells(R, "A").Value = ws.Cells(iRowI, "A").Value
284
+
285
+
286
+
287
+ 'CStr 関数は、指定した値を文字列型 (String) に変換する
288
+
289
+ S2.Cells(R, "A").Value = CStr(S2.Cells(R, "A").Value)
290
+
291
+
292
+
293
+ ' S2.Cells(R, "A").Value = Format("2019/01/01", "yyyy")
294
+
295
+ ' S2.Cells(2, 1).Value = Format("2019/01/01", "yyyy") '検証①
296
+
297
+ Range("A2:A30").Value = Format("2019/01/01", "yyyy") '検証②
298
+
299
+
300
+
301
+ End If
302
+
303
+
304
+
305
+ ```
306
+
307
+ ![イメージ説明](1c638783f479a309e149ba6a20f27a05.jpeg)
308
+
309
+
310
+
311
+ この状態で実行すると、以下の画像のように抽出される。

5

文言修正

2019/03/14 07:11

投稿

carrin
carrin

スコア15

test CHANGED
File without changes
test CHANGED
@@ -110,7 +110,7 @@
110
110
 
111
111
 
112
112
 
113
- 修正したソース(まだ未完成ですが、途中経過です)
113
+ 2019/03/13 修正したソースを追記(まだ未完成ですが、途中経過です)
114
114
 
115
115
  ```
116
116
 

4

編集内容反映

2019/03/13 07:38

投稿

carrin
carrin

スコア15

test CHANGED
File without changes
test CHANGED
@@ -105,3 +105,107 @@
105
105
  値を抽出できないので、やりたいこと②のロジックも
106
106
 
107
107
  わかりません。。。
108
+
109
+
110
+
111
+
112
+
113
+ 修正したソース(まだ未完成ですが、途中経過です)
114
+
115
+ ```
116
+
117
+ Sub 編集中()
118
+
119
+ Dim S2 As Worksheet
120
+
121
+ Dim ws As Worksheet
122
+
123
+ Dim R As Long
124
+
125
+
126
+
127
+ 'Selection.Value = Selection.Value '(この式は値に変換するという意味らしい)
128
+
129
+
130
+
131
+ Set S2 = Worksheets("値一致")
132
+
133
+ Set ws = Worksheets("値の元")
134
+
135
+
136
+
137
+ Dim iRowI As Integer '"値の元"(読み取り)行
138
+
139
+ Dim iLastRow As Integer
140
+
141
+
142
+
143
+ 'A列の最終データ行を取得する(年間カレンダーの最終行)
144
+
145
+ iLastRow = ws.Range("A2").SpecialCells(xlLastCell).Row
146
+
147
+ '表示形式を年だけで表示させる
148
+
149
+
150
+
151
+ 'Calendar加工"の2行目~最終データ行までループ処理させる
152
+
153
+ For iRowI = 2 To iLastRow
154
+
155
+ '"Weeklyシート加工"の"F列"の最後の行になるまで実行させる
156
+
157
+ For R = 2 To S2.Cells(Rows.Count, "F").End(xlUp).Row
158
+
159
+
160
+
161
+ 'If S2.Cells(R, "C").Value = ws.Cells(Rows.Count, "A") Then
162
+
163
+
164
+
165
+ '「値一致」シートのC列の値を、「値の元」シートのA列と比較して、一致しているか調べてみる
166
+
167
+ If S2.Cells(R, "F").Text = ws.Cells(iRowI, "A").Text Then
168
+
169
+ 'S2.Cells(R, "A").Value = ws.Cells(Rows.Count, "A")
170
+
171
+
172
+
173
+ '「値一致」シートと「値の元」シートで一致していたら、その行の値を転記する
174
+
175
+ S2.Cells(R, "A").Value = ws.Cells(iRowI, "A").Value
176
+
177
+ End If
178
+
179
+ If S2.Cells(R, "A").Value = ws.Cells(iRowI, "A").Value Then
180
+
181
+ ' S2.Cells(R, "A").Value = CStr(S2.Cells(R, "A").Value) CStr 関数は、指定した値を文字列型 (String) に変換する
182
+
183
+ ' S2.Cells(R, "A").Value = ws.Cells(iRowI, "A").Value
184
+
185
+ ' S2.Cells(R, "A").Value = Format("2019/01/05", "yyyy")
186
+
187
+ ' S2.Cells(R, "A").Value = Format(ws.Cells(S2.Cells(R, "A").Value, "yyyy"))
188
+
189
+ End If
190
+
191
+ '"WK"列の値を表示させる
192
+
193
+ If S2.Cells(R, "F").Text = ws.Cells(iRowI, "A").Text Then
194
+
195
+ S2.Cells(R, "B").Value = ws.Cells(iRowI, "C").Value
196
+
197
+ End If
198
+
199
+
200
+
201
+ Next R
202
+
203
+ Next
204
+
205
+
206
+
207
+ End Sub
208
+
209
+
210
+
211
+ ```

3

説明文修正

2019/03/13 07:37

投稿

carrin
carrin

スコア15

test CHANGED
File without changes
test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
 
52
52
 
53
- ![イメージ説明]![イメージ説明](c69d6f8ff7ba01a3591f3b48026dafce.jpeg)
53
+ [完成させたいイメージ]![イメージ説明](c69d6f8ff7ba01a3591f3b48026dafce.jpeg)
54
54
 
55
55
 
56
56
 

2

画像修正、文言修正など

2019/03/12 07:04

投稿

carrin
carrin

スコア15

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- **"値一致シート"**![イメージ説明](356e7eb68879b024c03841c6fe04b741.jpeg)
17
+ **"値一致シート"**![イメージ説明](6fc74f4953342fa2ecf9af9f6063b63e.jpeg)
18
18
 
19
19
  **"値の元"シート**![イメージ説明](78a76fe26ab797038107e50f36e72531.jpeg)
20
20
 
@@ -40,7 +40,17 @@
40
40
 
41
41
  "値の元"シートのC列の"WK表示"の値を、"値一致シート"のB列に転記させたいです。
42
42
 
43
- 例えば、"19.01.05"なら"WK 01"、"2019/1/22"なら"WK 04"
43
+ 例えば、"19.01.05"なら"WK 01"、"2019/1/22"なら"WK 04"
44
+
45
+
46
+
47
+ 下記の画像のように仕上げるのを目標として
48
+
49
+ 色々試行錯誤しているところです。
50
+
51
+
52
+
53
+ ![イメージ説明]![イメージ説明](c69d6f8ff7ba01a3591f3b48026dafce.jpeg)
44
54
 
45
55
 
46
56
 

1

文法の編集

2019/03/11 06:42

投稿

carrin
carrin

スコア15

test CHANGED
File without changes
test CHANGED
@@ -84,9 +84,9 @@
84
84
 
85
85
  セルに転記させる・・・
86
86
 
87
- という方法をとったのですが、
87
+ という方法をとってみまし
88
88
 
89
- 上記のソースコードだとエラーは出ないのですが、
89
+ しかし、上記のソースコードだとエラーは出ないのですが、
90
90
 
91
91
  何一つ値をとってこれません。
92
92