|
はじめまして。
現在、作成したマクロの動きを調査していて、
シート削除の以下の2つの動きが微妙に異なることに気づきました。
a) Worksheets(1).Delete
b) Sheet1.Delete
a:すぐにシートが削除され、VBEのプロジェクト内からも、すぐに無くなります。
b:すぐにシートが削除され、VBEのプロジェクト内は、処理終了後に無くなります。
また、以下のようにすると、
Debug.Print Sheet1.Name
Worksheets(1).Delete
上記bと同じ動きになります。
どうも、コード名を利用したのち、シートを削除すると、
プロジェクト内のオブジェクトは、処理終了後にしかなくならないようです。
すべてWorksheets(1)のような記述にすれば、解決するのは分かっているのですが
どうしてコード名を利用した処理の後にシートを削除すると、
プロジェクト内のオブジェクトは、処理終了後にしか無くならないのか、
理由を知りたいと思っています。
どなたか、ご教授いただけないでしょうか
よろしくお願いいたします。
動作環境
OS: Windows 10 64ビット メモリ4GB
Excel: Excel 2016 32ビット
|
|