エクセルVBAで名前を変更してシートをコピーする!

エクセルで、シートをコピーしたい場合、エクセルVBAで、シートの名前を変更してコピーできます。定期的にシートのコピーを行う作業があるとき、手作業でシートをコピーするのは大変です。間違って別のシートをコピーしたりすることだってあります。ましてや、シートの名前を変更しなければいけない!こんな面倒なことはありません。シートのコピーは、挿入する位置を指定することだってできます。シートの名前を変更して、同ファイル、別ファイル、新規ブックにも、コピーできます。ここでは、同ファイル、別ファイル、新規ブックに、シートの名前を変更して、さらに、位置を指定してコピーする方法を紹介しています。仕事アップできること、間違いありません!

 

 

シート名を変更して別のファイルにコピー

別ブックにシートの名前を変更してコピー

エクセルVBAで、別のファイルに名前を変更してシートをコピーします。

別のファイルにブシートをコピーする場合は、別ファイルは必ず開いている必要があります。

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

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

ここでは、シートの名前を「会員番号」と変更して、別ブックにコピーしましょう。

 

 

Sheet1 を Sheet2 の後ろ、前に名前を変更してコピー

Sheet1 のシート名を「会員番号」に変更して、別ブック Book3 の Sheet2 の後ろにコピーするコードです。

別ブック「Book3」は、必ず開いておきましょう。

指定するブックには、拡張子(.xls .xlsx)をつけます。

シート名「会員番号」が、Sheet2 の後ろにコピーされます!

Sub シートの後ろにコピー()
Sheets(“Sheet1”).Copy After:=Workbooks(“Book3”).Sheets(“Sheet2”)
ActiveSheet.Name = “会員番号”
End Sub

ブック名が「北海道支社.xls」の場合は、次のようになります。

Sub シートの後ろにコピー()
Sheets(“Sheet1”).Copy After:=Workbooks(“北海道支社.xls”).Sheets(“Sheet2”)
ActiveSheet.Name = “会員番号”
End Sub

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

Sub シートの前にコピー()
Sheets(“Sheet1”).Copy Before:=Workbooks(“Book3”).Sheets(“Sheet2”)
ActiveSheet.Name = “会員番号”
End Sub

 

 

シートの先頭に名前を変更してコピー

Sheet1 のシート名を「会員番号」に変更して、ブック Book3 の先頭にコピーするコードです。

Sub シートの先頭にコピー()
Sheets(“Sheet1”).Copy Before:=Workbooks(“Book3”).Sheets(1)
ActiveSheet.Name = “会員番号”
End Sub

シートの末尾に名前を変更してコピー

Sheet1 のシート名を「会員番号」に変更して、ブック Book3 の末尾にコピーするコードです。

Sub シートの末尾にコピー()
Sheets(“Sheet1”).Copy After:=Workbooks(“Book3”).Sheets(Worksheets.Count)
ActiveSheet.Name = “会員番号”
End Sub

ボタンをクリックして、Sheet1 のシート名を「会員番号」に変更して、ブック「北海道支社.xls」の末尾にコピーするコードです。

Private Sub CommandButton1_Click()
Sheets(“Sheet1”).Copy After:=Workbooks(“北海道支社.xls”).Sheets(Worksheets.Count)
ActiveSheet.Name = “会員番号”
End Sub

 

 

シート名を変更して同じファイルにコピー

シートの名前を変更して同じブックにコピー

エクセルVBAで、Sheet1のシート名を「会員番号」に変更して、同じブックにコピーしてみましょう。

Sheet1 を Sheet2 の後ろ、前に名前を変更してコピー

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

Sub シートの後ろにコピー()
Worksheets(“Sheet1”).Copy After:=Worksheets(“Sheet2”)
ActiveSheet.Name = “会員番号”
End Sub

シート「会員№」を、シート「住所登録」の後ろにコピーするVBAです。

シート「会員№」が、シート「住所登録」の後ろに挿入されます!

Sub シートの後ろにコピー()
Worksheets(“会員№”).Copy After:=Worksheets(“住所登録”)
ActiveSheet.Name = “会員番号”
End Sub

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

Sub シートの前にコピー()
Worksheets(“Sheet1”).Copy Before:=Worksheets(“Sheet2”)
ActiveSheet.Name = “会員番号”
End Sub

 

 

Sheet1 を先頭の位置に名前を変更してコピーする

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

Sub シートの先頭にコピー()
Worksheets(“Sheet1”).Copy Before:=Worksheets(1)
ActiveSheet.Name = “会員番号”
End Sub

Sheet1 を末尾の位置に名前を変更してコピーする

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

Sub シートの末尾にコピー()
Worksheets(“Sheet1”).Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = “会員番号”
End Sub

新規ブックにコピー

新しいブックに、シート名を変更してコピーするコードです。

Sub シートを変更して新規ブックにコピー()
Worksheets(“Sheet1”).Copy
ActiveSheet.Name = “会員番号”
End Sub

新しいブックには、シート名「会員番号」がコピーされます!

シート名を変更して、同ファイル、別ファイル、新規ブックにコピー

ここでは、エクセルVBAで、シートの名前を変更してコピーしました。シートのコピーは、同ファイル、別ファイル、新規ブックにも、名前を変更してコピーできます。定期的にシートの名前を変更して、コピーしなければいけない場合、VBAで、一発でコピーできます。シートをコピーして名前を変更するのは、面倒です。名前を入力する時、何度も間違えてしまって、時間がかかってしまったことはないでしょうか。一度、シートの名前を変更してコピーするVBAをお試し下さい。ボタンを作って、マクロを登録すると、ボタンをクリックするだけで、シートをコピーできます。

こちらの記事もご覧ください。⇒エクセルVBAでシートをコピーする方法!