After:=Worksheets(Worksheets.Count)でシートコピー
ブックの最後(1番右)にコピーしたシートを作成するには、Copyメソッドの引数に、After:=Worksheets(Worksheets.Count)と書きます。
Afterは、シートを作成する場所を指定する引数です。
After:=Worksheets(Worksheets.Count)の意味
・Afterは「後」
・Worksheets.Countは「すでにあるシートの数」
・Worksheets(Worksheets.Count)は「最後のシート」
なので、全体として「最後のシートの後」となります。
・Afterは「後」
・Worksheets.Countは「すでにあるシートの数」
・Worksheets(Worksheets.Count)は「最後のシート」
なので、全体として「最後のシートの後」となります。
コード
1 2 |
'「住所一覧」シートを、最後にコピーする Worksheets("住所一覧").Copy After:=Worksheets(Worksheets.Count) |
解説
「住所一覧」シートのコピーが、最後に作成されます。
注意すること
例えばすでにある1番右のシートが「会社一覧」だとします。
Copyメソッドを使う時、After:=Worksheets(“会社一覧”)とすれば、最後にコピーしたシートが作成されます。
でも、「会社一覧」シートはユーザによってシートの位置が変わる可能性があるので、いつも1番右にシートが作成される保証はありません。
After:=Worksheets(“会社一覧”)は、あくまでも「会社一覧」シートの右側という意味です。
例えばすでにある1番右のシートが「会社一覧」だとします。
Copyメソッドを使う時、After:=Worksheets(“会社一覧”)とすれば、最後にコピーしたシートが作成されます。
でも、「会社一覧」シートはユーザによってシートの位置が変わる可能性があるので、いつも1番右にシートが作成される保証はありません。
After:=Worksheets(“会社一覧”)は、あくまでも「会社一覧」シートの右側という意味です。
その他テクニックは、次の記事を参考にしてください。

【VBA】ワークシートのコピーとテクニック
Copyメソッド
ワークシートをコピーするには、WorksheetsのCopyメソッドを使います。
コピーしたシートは、新しいブックに作成されます。
コード
'「住所一覧」シートをコピーする
Worksheets("住...