エクセルVBAで全シートをコピーする方法

エクセルファイルの全シートを同じファイルに、または別のブックにコピーしたい時、シートの数が多いと面倒です。似ているシート名が複数あると、コピーを忘れてしまう事もあります。全てのシートをコピーする場合、確実に失敗することなくコピーするにはVBAを使いましょう。同じシートを重複してコピーすることも防げます。ここでは、エクセルVBAで、同じファイル、別のブック、新規ブックに全シートをコピーする方法を紹介しています。ファイルに全シートをコピーする場合、挿入する位置を指定することもできます。特定のシートを使いまわししている場合は、VBAを使った方が一括でシートのコピーができます。

 

 

全シートを同じブックにコピーする

エクセルVBAでシートをコピーする場合、Copy メソッドを使います。

Copy メソッドの構文

オブジェクト.Copy(Before, After)

エクセルVBAで、ファイルの全シートを同じファイルにコピーしましょう。

同じブックに全シートをコピーする場合、挿入されるシートは、シート名の後ろに、XXXX(2) と (2) が付きます。

ファイルの全シートを指定した位置にコピー

挿入されるシートは、同じシート名がファイルにあるので、全てシート名の後ろに(2) が付きます。

 

 

全シートを Sheet2 の前、または後にコピー

全シートを、Sheet2 の後ろにコピーするコードです。

Sub 全シートをシートの後ろにコピー()
ThisWorkbook.Sheets().Copy After:=Worksheets(“Sheet2”)
End Sub

全シートを、Sheet2 の前にコピーするコードです。

Sub 全シートをシートの前にコピー()
ThisWorkbook.Sheets().Copy Before:=Worksheets(“Sheet2”)
End Sub

全シートを先頭にコピーする

全シートを、同じブックの左端にコピーするコードです。

Sub 全シートをブックの左端にコピー()
ThisWorkbook.Sheets().Copy Before:=Sheets(1)
End Sub

全シートを末尾にコピーする

全シートを、同じブックの右端にコピーするコードです。

Sub 全シートをブックの右端にコピー()
ThisWorkbook.Sheets().Copy After:=Sheets(Sheets.Count)
End Sub

 

 

全シートを別ブックにコピーする

エクセルVBAで、ファイルの全シートを別ブックにコピーしましょう。

シートをコピーする別ブックは、開いている必要があります。

ファイルの全シートを別ブックの指定した位置にコピー

全シートを、別のファイルに挿入する位置を指定して、コピーしましょう。

全シートを Book3 の Sheet2 の後ろ、前にコピー

全シートを、「Book3」の「Sheet2」の後ろにコピーするコードです。

Sub 別ブックのXXシート後ろにコピー()
ThisWorkbook.Sheets().Copy After:=Workbooks(“Book3”).Sheets(“Sheet2”)
End Sub

ファイル名が住所録の場合は、次のようになります。

Sub 別ブックのXXシート後ろにコピー()
ThisWorkbook.Sheets().Copy After:=Workbooks(“住所録.xls”).Sheets(“Sheet2”)
End Sub

全シートを、「Book3」の「Sheet2」の前にコピーするコードです。

Sub 別ブックのXXシートの前にコピー()
ThisWorkbook.Sheets().Copy Before:=Workbooks(“Book3”).Sheets(“Sheet2”)
End Sub

 

 

シートの先頭にコピー

全シートを、ブック「Book3」の先頭にコピーするコードです。

Sub 別ブックの先頭にコピー()
ThisWorkbook.Sheets().Copy Before:=Workbooks(“Book3”).Sheets(1)
End Sub

シートの末尾にコピー

全シートを、ブック「Book3」の末尾にコピーするコードです。

Sub 全シートを別ブックの末尾にコピー()
ThisWorkbook.Sheets().Copy After:=Workbooks(“Book3”).Sheets(Workbooks(“Book3”).Sheets.Count)
End Sub

新規のファイルに全シートをコピー

新しいブックに、シート全てコピーするコードです。

Sub 全シートを新規ブックにコピー()
ThisWorkbook.Sheets.Copy
End Sub

こちらの記事もご覧ください。⇒エクセルVBAが初心者でも短期間でマスターできる楽パソ!音声と映像で自宅で学べる。

こちらの記事もご覧ください。⇒プログラミングスキルが初心者でも短期間でマスターできる楽パソ!音声と映像で自宅で学べる。

全シートのコピー

エクセルで全シートをコピーする場合、シートの数が多いと、同じシートをコピーしたり、コピーするシートを抜かしたりすることがあります。定期的にシートのコピーをする場合は、エクセルVBAです。全シートを1つ1つコピーすると、かなり時間がかかってしまします。エクセルVBAで全シートをコピーすると、一発でコピーできます。今まで手作業で行っていたシートのコピーは、エクセルVBAを使ってみましょう。時間が短縮されて、効率よく仕事ができるようになります。

こちらの記事もご覧ください。⇒エクセルVBAで名前を変更してシートをコピーする!

エクセル・ワード・パワーポイント・アクセス・マクロVBA・WEBプログラミングを入門から応用までらくらくマスターできる ➡ 動画パソコン教材

エクセルのマクロとVBAを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセルパワーポイント・アクセスとエクセルマクロVBA・WEBプログラミング・パソコンソフト作成を入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
VBA・Java・WEB・C#・HTML/CSSプログラミングを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓
ワード・エクセル・パワーポイント・アクセスを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓

ワード・エクセル・パワーポイント・アクセスとWEBプログラミングを入門から応用まで映像と音声でわかりやすく学ぶことができます。
↓ ↓ ↓ ↓ ↓