【VBA】ワークシートを最後にコピーする

After:=Worksheets(Worksheets.Count)でシートコピー

ブックの最後(1番右)にコピーしたシートを作成するには、Copyメソッドの引数に、After:=Worksheets(Worksheets.Count)と書きます。

Afterは、シートを作成する場所を指定する引数です。

After:=Worksheets(Worksheets.Count)の読み方
  • Afterは「後」
  • Worksheets.Countは「ブックにあるシートの数」
  • Worksheets(Worksheets.Count)は、シート数で指定しているので「最後のシート」

なので、全体として「最後のシートの後」となります。

コード

 

解説

「住所一覧」シートのコピーが、最後に作成されます。

注意すること

例えば、あるブックの1番右のシートが「会社一覧」だとします。

この場合、挿入位置をシート名「会社一覧」を使ってAfter:=Worksheets(“会社一覧”)としても、ブックの最後にシートを作成することができます。

でも、「会社一覧」シートはユーザの操作でシートの位置が変わる可能性があり、いつも1番右にシートが作成される保証はありません。

After:=Worksheets(“会社一覧”)は、あくまでも「会社一覧」シートの右側という意味です。

その他テクニックは、次の記事を参考にしてください。

https://excel-toshokan.com/vba-sheet-copy/

関連記事

VBAテクニック辞典
成果を出す5つのポイント
VBAテクニック辞典
えくとしょ | 初心者のためのエクセルとVBAの図書館
タイトルとURLをコピーしました