teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/06/24 05:17

投稿

jinoji
jinoji

スコア4592

answer CHANGED
@@ -1,4 +1,9 @@
1
1
  ```VBA
2
2
  ThisWorkbook.Worksheets(Data(i)).Copy
3
+ ```
3
4
 
4
- ```
5
+ ブック名をつけずに`Worksheets(Data(i)).Copy`とだけ書くと、
6
+ その時のActiveWorkbookのワークシートだと判断されます。
7
+ ループの1回目で新しいWorkbookができ、それがActiveWorkbookになるので、
8
+ 2回目のときに、その新しいブックの中のワークシートを探しに行きますが、
9
+ 当然そこには無いのでエラーになる、という理屈だと思われます。