回答編集履歴

1

修正

2019/01/11 08:59

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -1,11 +1,53 @@
1
+ 質問の内容を
2
+
1
3
  > シートの全コピー・ペーストのやり方
2
4
 
3
5
 
4
6
 
7
+ だと理解しています。
8
+
9
+ コメントなさったエラーはどちらかブックが開けてないということだろうと思います。
10
+
5
- [別からシートをコピーる](http://konifug.hatenablog.com/entry/2017/01/15/153007)
11
+ こう書き下して、レーポイントを置いていけば、どっちが開けてないか分かるはずで
6
12
 
7
13
  ```VBA
8
14
 
15
+ Sub CopyTo()
16
+
17
+ Dim src As Worksheet
18
+
19
+ Set src = Workbooks("Book2.xlsx").Worksheets("Sheet1")
20
+
21
+ Dim dst As Worksheet
22
+
9
- Workbooks("別ブック.xlsx").Worksheets("コピー元").Copy After:=Workbooks("このブック.xlsm").Worksheets("Sheet3")
23
+ Set dst = Workbooks("Book1.xlsm").Worksheets("Sheet1")
24
+
25
+ src.Copy After:=dst
26
+
27
+ End Sub
10
28
 
11
29
  ```
30
+
31
+ とりあえずは、手動で、二つのファイルを開いてコピーできることをご確認ください。
32
+
33
+
34
+
35
+ ファイルダイアログからブックを開くことができないというのは、質問の粒度として、別の(前段階の)質問です。
36
+
37
+ 仮に全部が聞きたいなら、コピーのしかたではなく開いてコピーする方法、という質問にしてください。
38
+
39
+ 概略としてはこういう感じだと思います。
40
+
41
+ ```VBA
42
+
43
+ OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?")
44
+
45
+ If OpenFileName <> "False" Then
46
+
47
+ Set wb = Workbooks.Open OpenFileName
48
+
49
+ EndIf
50
+
51
+ Set src = wb.Worksheets("Sheet1")
52
+
53
+ ```