シート挿入あれこれ
シートを名前を付けて挿入するには
Sheets.Add.Name = "シートの名前"
とします。
このとき、同名のシートが存在したら
次のようなエラーになります。
このエラーを避けるために
指定した名前のシートが存在するか確かめます。
で、もし同じ名前のシートがあった場合、
どうするか?ですが、
1.既存シートを削除した上で、新たに同名のシートを挿入する。
2.既存シートの全セルを削除して、新たにシートを挿入しない。
3.既存シートの名前を変更して残し、新たにシートを挿入する。
4.既存シートをそのまま残し、
新たに挿入するシートの名前に番号を付けていく。
といった方法が考えられると思います。
順番にやっていきたいと思います。
まず、
1.既存シートを削除した上で、新たに同名のシートを挿入する。
についてです。
For Each...Next ステートメントですべてのシートの名前を調べていき
指定した名前と同じシートが在れば、削除します。
なければ何もしません。
同名のシートが在ってもなくてもプロシージャの最後で
shnameで指定した名前のシートを削除します。
コードはこちら
Sub macro100314a() Sub SheetAddDel(shname As String) End Sub |
次に、
2.既存シートの全セルを削除して、新たにシートを挿入しない。
についてです。
1.のコードを少し変えただけです。
同名のシートがあった場合、
1.のコードではシートを削除しているところを
シートの全セルを削除するに変更して、
プロシージャを終える。
同名のシートがなければ、単純にシートを挿入するだけです。
コードはこちら
Sub macro100314b() Sub SheetAddCDel(shname As String) End Sub |
つづく
| 固定リンク
この記事へのコメントは終了しました。

コメント