シートの名前が変わってしまうとマクロがちゃんと実行されない!

シートの位置(番号)が変わってしまうとマクロがちゃんと実行されない!

こんな悩みを解決し、更にコードもスッキリさせる方法があります。

シートのオブジェクト名を任意の名前に変更することです♪

実際にどんな風にするかは簡単です!例としてシートが5枚あるエクセルのVBEを開きます

オブジェクト名を付けたいシートをクリックします。今回はシート1を選択します。

Sheet1をクリック

そこで F4キーを押します。するとプロパティウインドウが出現します。

ここで見てわかる通りオブジェクト名を選択できます。

今回はオブジェクト名を Kimama とします。

オブジェクト名がKimamaとなり、プロジェクトエクスプローラーの表記もKimamaとなりました

これでオブジェクト名の設定ができました♪では実際にマクロを動かして挙動を確認します♪ マクロでシート1のセルA1に ”エクセルVBA” と入力します。

応用技として、シートの初期化にオブジェクト名を指定できます。

上のエクセルでいうとシート1は残し、シート2~5を削除するというときに、シート1の名前やシートの位置が変わっていても削除されないようにすることができます♪

それでは、シート1の名前を ”きまま” に変更し左から4番目に移動します。

きままシートを4番目に移しました

そしたらシートを削除するマクロを実行します。

見事にきままシートだけ残ってくれました♪

オブジェクト名をしたシート操作は、

CodeNameプロパティが重要になりますね!

引き続き快適なVBAライフを♪

ではでは!