回答編集履歴

1

追記

2019/01/28 05:07

投稿

hatena19
hatena19

スコア33782

test CHANGED
@@ -25,3 +25,51 @@
25
25
  wsResult.Range("A" & LastRow & ":A" & (LastRow2)).Value = bkName
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ ---
32
+
33
+ > 1.ブック名を切り分けて、A列とB列に記入する
34
+
35
+
36
+
37
+ 切り分けの条件を明確にしてください。
38
+
39
+ 被験者番号は2桁固定、実験条件の桁数は可変なのですか。
40
+
41
+ また拡張子は"xls"で固定ですか。
42
+
43
+ そうだとするなら、下記のようなコードてよろしいかと。
44
+
45
+
46
+
47
+ wsResult.Range("A" & LastRow & ":A" & (LastRow2)).Value = Left(bkName, Len$(bkName)-6)
48
+
49
+ wsResult.Range("B" & LastRow & ":B" & (LastRow2)).Value = Mid(bkName, Len$(bkName)-5,2)
50
+
51
+
52
+
53
+
54
+
55
+ > 2.同じファイルを何度も処理しないようにする
56
+
57
+ > これもブック名を使ってチェックすればいいのかなと思いますが、具体策が思いつかない。
58
+
59
+
60
+
61
+ Findメソッドを使ってファイル名が見つかったら読み込み処理をしないようにすればいいでしょう。
62
+
63
+
64
+
65
+ [条件に当てはまるセルを検索する(Find/FindNext/FindPreviousメソッド) :Excel VBA|即効テクニック|Excel VBAを学ぶならmoug](https://www.moug.net/tech/exvba/0050116.html)
66
+
67
+
68
+
69
+ ただ、自分なら、読み込み済みのファイルは、別フォルダーに移動させるようにしますね。
70
+
71
+ その方が読み込み済みかどうかが一目瞭然ですので。
72
+
73
+
74
+
75
+ [ファイルを移動する(Nameステートメント):Excel VBA|即効テクニック|Excel VBAを学ぶならmoug](https://www.moug.net/tech/exvba/0060093.html)