エクセルVBAでシートのコピー! 位置や名前を指定

エクセルでシートをコピーしたいという時、定期的に同じシートをコピーしなければいけない! シートの左端、右端、またはAシートの後ろの位置に、コピーしたシートを挿入したい!といった場合、ファイルにシートが沢山あると、指定した位置にコピーしたシートを挿入するのは大変です。そのような時に一発で、エクセルVBAで、シートをコピーすることができます。エクセルVBAで、シートをコピーする時は、Copy メソッドを使います。Copy メソッドに引数を設定して、指定した位置にシートをコピーすることができます。シートは全シートをコピーすることもできます。ここではシートの操作でよく使われる、エクセルVBAを紹介しています。VBAでシートを簡単に、一発で指定した位置にコピーしてみましょう。定期的に行う作業が、らくらくできます!

 

 

シートをコピーする

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

Copy メソッドの構文

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

Copy メソッドは、引数 Before、Afterを設定して、ワークシートを指定した場所にコピーすることができます。

引数を指定しなかった場合は、シートは新規のブックにコピーされます。

 

 

シートを指定した位置にコピーする

エクセルVBAで、コピーしたシートを先頭の位置、末尾、Aシートの前、または後ろに挿入しましょう。

Sheet1 を Sheet2 の前の位置、または後にコピー

Sheet1 を Sheet2 の前の位置、または後ろにコピーしましょう。

同じシート名がある場合には、挿入されるシートは、シート名の後ろに、XXXX(2) と (2) が付きます。

Sheet1 をコピーすると、挿入されるシート名は Sheet1 (2) です。

Sheet1 を Sheet2 の後ろに、コピーするコードです。

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

シート名「1月売上」を、シート名「8月売上」の後ろにコピーする場合は、次のようになります。

シート名「1月売上 (2)」が、シート名「8月売上」の後ろに挿入されます!

Sub シートの後ろにコピー()
Worksheets(“1月売上”).Copy After:=Worksheets(“8月売上”)
End Sub

Sheet1 を Sheet2 の前に、コピーするコードです。

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

 

 

Sheet1 を先頭の位置にコピーする

Sheet1 を、ワークシートの先頭の位置に挿入するコードです。

Sub シートの先頭にコピー()
Worksheets(“Sheet1”).Copy Before:=Worksheets(1)
End Sub

Sheet1 を末尾の位置にコピーする

Sheet1 を、ワークシートの末尾の位置に挿入するコードです。

Sub シートの末尾にコピー()
Worksheets(“Sheet1”).Copy After:=Worksheets(Worksheets.Count)
End Sub

Sheet1 を、ボタンをクリックして、ワークシートの末尾の位置に挿入するコードです

Private Sub CommandButton1_Click()
Worksheets(“Sheet1”).Copy After:=Worksheets(Worksheets.Count)
End Sub

シートに名前を付けてコピーする

シートに「住所録」と、名前を付けてコピーする時のコードです。

Sub シート住所録のコピー()
Worksheets(“Sheet1”).Copy After:=Worksheets(“Sheet2”)
ActiveSheet.Name = “住所録”
End Sub

シート名「住所録」が、Sheet2 の後ろにコピーされました!

 

 

全シートをコピーする

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

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

Copy メソッドは、全シートを指定した位置にコピーすることができます。

同じブックの右端にコピー

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

同じブックの左端にコピー

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

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

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

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

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

シートの操作

Copy メソッドに引数 Before、Afterを設定して、指定した位置にワークシートをコピーすることができます。エクセルVBAで、シートをコピーすると、定例のシートのコピーが簡単にできるようになります。面倒な作業が一発でできるので、誤って別なシートをコピーしたり、シートを挿入する位置を間違えた!といったミスを防げます。ここで紹介したVBAは、即、使えるコードです。ぜひお試しください。

こちらの記事もご覧ください。⇒エクセルVBAでワークシートを表示、非表示にする!

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

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

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