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

回答編集履歴

1

追記

2020/07/03 04:49

投稿

kaz.Suenaga
kaz.Suenaga

スコア2042

answer CHANGED
@@ -12,4 +12,18 @@
12
12
  list.Range(list.Cells(2, 7), list.Cells(k, 11)).ClearContents
13
13
  ```
14
14
 
15
- とすることで指定したい状態になると思いますが、いかがでしょうか。
15
+ とすることで指定したい状態になると思いますが、いかがでしょうか。
16
+
17
+
18
+
19
+ ----
20
+
21
+ > Workbooks("基データ").Worksheets("リスト").range(list.cells...)
22
+ とすると動くのですが、
23
+ このとき、セルの番地を指定するための「list」はそのままでも動く理由がわかりません。
24
+
25
+ list を展開して書き直すと、
26
+
27
+ `Workbooks("基データ").Worksheets("リスト").Range(ActiveWorkbook.Worksheets("リスト").Cells(2, 7), ActiveWorkbook.Worksheets("リスト").Cells(k, 11)).ClearContents` と参照しているのは「基データ」ファイルではなく、マクロを実行しているファイルの「リスト」シートとなります。
28
+
29
+ 「基データ」はマクロファイルからコピーしているとのことで、つまりは「たまたま結果が一致する」状態だったということです。