以前シートのオブジェクト名を変更してから扱うというブログを書いたのですが(【VBA】シートをオブジェクト名で指定する)
先日、コメントでシートのオブジェクト名を手動ではなくコードで設定する方法はないかという話題がでまして、@radames1000 さんが教えてくれた方法を改めて記述しておきます。
#セキュリティセンターの設定
まずは、以下のチェックを入れておきます。
Excelのオプション
↓
セキュリティセンター
↓
マクロの設定
↓
開発者向けのマクロ設定
↓
VBAプロジェクトオブジェクトモデルへのアクセスを信頼する にチェック
#コード
Sub SheetObjectNameChange()
ThisWorkbook.VBProject.VBComponents(Sheets(1).CodeName).Name = "test"
End Sub
マクロで新しくシートを追加してさらにそのオブジェクト名を変更したいときなどに使いたいかも。
いままでVBAプロジェクトオブジェクトモデルへのアクセスを信頼するってなんのこっちゃって思ってました!
@radames1000 さんありがとうございました!