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

回答編集履歴

1

修正

2019/01/11 08:59

投稿

papinianus
papinianus

スコア12705

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