Excelで、現在開いているブック(ブックAとします)のあるシート(シートaとします)を他ブックBの末尾にコピーする処理をVBAで記述しています。
しかしながら、「インデックスが有効範囲にありません。」とエラーが発生してしまいます。
【コード①】
VBA
1Dim wb As Workbook 2Set wb = Workbooks.Open(ThisWorkbook.Path & "\B.xlsx") 3 4With wb 5 'シートaをブックBの末尾にコピー【※】 6 Sheets(a).Copy After:=.Sheets(.Sheets.Count) 7 8 '上書き保存し、終了 9 .Close SaveChanges:=True 10End With 11
コード①の場合、【※】のところでエラーが発生します。
シートの値の指定を間違えたのかな?とも思ったのですが、シートの数を数えてみても正しいので、原因がわかりません。
https://www.sejuku.net/blog/70165
https://www.relief.jp/docs/excel-vba-sheet-copy-to-another-book.html
これらのサイトのを参考に、コード②や③に変更して試してみましたが、やはりいずれも【※】のところで同じエラーが発生してしまいます。
【コード②】
VBA
1Dim wb As Workbook 2Set wb = Workbooks(ThisWorkbook.Path & "\B.xlsx") '【※】 3 4With wb 5 'シートaをブックBの末尾にコピー【※】 6 Sheets(a).Copy After:=.Sheets(.Sheets.Count) 7 8 '上書き保存し、終了 9 .Close SaveChanges:=True 10End With
【コード③】
VBA
1Dim wb As Workbook 2Workbooks.Open(ThisWorkbook.Path & "\B.xlsx") 3Set wb = ActiveWorkbook 4 5With wb 6 'シートaをブックBの末尾にコピー【※】 7 Sheets(a).Copy After:=.Sheets(.Sheets.Count) 8 9 '上書き保存し、終了 10 .Close SaveChanges:=True 11End With
何かを見落としているのかもしれないのですが、やはり原因がわからないため、こちらに投稿させていただきました。
詳しい方、ご教示をお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/20 07:00