
はじめに
今回は、シートをコピーする方法について解説します。
コピーにおける注意点も解説しますので、ぜひ最後までご覧ください。
この記事を読むメリット
- シートのコピー方法が分かります。
- 引数の解説や注意点などの詳細を解説します。
使用例
サンプルコードを交えて解説いたします。
サンプルコード
サンプルコード
Public Sub sampleWorksheetCopy()
' [Sample1]シートをブックの先頭にコピー
ThisWorkbook.Worksheets("Sample1").Copy Before:=ThisWorkbook.Worksheets(1)
' [Sample2]シートをブックの末尾にコピー
ThisWorkbook.Worksheets("Sample2").Copy After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
End Sub
実行結果
実行前
Sample1シート
Sample2シート
実行後
Sample1シート
Sample2シート
詳細解説
構文や注意点などについて踏み込んで解説します。
構文
構文
object.Copy(Before/After)

BeforeかAfterのどちらかを指定してください。
引数
# | 引数 | 必須 | 詳細 |
1 | Before | ワークシートを指定します。 コピー先が、指定したワークシートの直前(左側)にコピーされます。 |
|
2 | After | ワークシートを指定します。 コピー先が、指定したワークシートの直後(右側)にコピーされます。 |
サンプルコード(応用編)
本項では、汎用的なサンプルコードを掲載していきます。
共通メソッド化(ブックの末尾にコピー)
サンプルコード
Public Function copyWorksheet(ByVal srcWs As Worksheet) As Worksheet
' 引数のシートをブックの末尾にコピー
srcWs.Copy After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
' コピー元シートをアクティブシートに変更
srcWs.Activate
' コピー先シートを返却
Set copyWorksheet = ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
End Function

引数にコピー元のシートを指定し、そのシートをコピーし呼び出し元へ返却します。
また、コピー元のシートをアクティブシートに戻します。
また、コピー元のシートをアクティブシートに戻します。
さいごに
いかがでしたでしょうか。
用途もよりますが、引数指定やアクティブシートに気を付けながらコーディングしましょう!
この記事が、読者さまのお力になれば嬉しいです!
コメント