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