目次
Excelシートのオブジェクト名をVBAで変更する方法
今回は、シートオブジェクトのプロパティにある『オブジェクト名』をVBAで変更する方法を紹介します。
シートプロパティのオブジェクトとは
シートプロパティのオブジェクト名については、こちらの記事で解説をしています。
Excel開発者の必須知識:Excelシートプロパティのオブジェクト名を解説 | 合同会社縁紡ぐ
Excel開発者の知識:Excelシートプロパティの『オブジェクト名』とは ExcelのVBAを使って本格的にプログラムを書いていくためには、シートのプロパティについて理解してお…
シートプロパティのオブジェクトとは、下のオブジェクト名のことです。
シートプロパティのオブジェクト名を変更するコード
このオブジェクト名を変更するコードは、次のようになります。実行するとエラーになります。コードではなく、設定を変更する必要がありますので、あとで、設定について紹介します。
シート順番で指定する場合
Sub SheetObjectNameChange()
'Sheets(3)は、シートのいくつ目かで指定しています。今回は3つ目のSheet3を指定しています
ThisWorkbook.VBProject.VBComponents(Sheets(3).CodeName).Name = "test"
End Sub
コードにメモ書きで書いていますが、Sheets(3)で3つ目のシート、今回であれば『Sheet3』を指定しています。Nameで指定することもできます。
シートの名前で指定する方法
次は、シート名っていえばみんなが想像するシートのNameで指定する方法です。
Nameを指定して変更するコードは、こちらです。
Sub SheetObjectNameChange()
ThisWorkbook.VBProject.VBComponents(Sheets("NewSheetName").CodeName).Name = "test"
End Sub
オブジェクト名をVBAで変更するための設定変更
初期設定のまま実行すると、実行時エラー1004発生します。
設定変更をすることで実行できるようになります。
STEP
ファイル
STEP
オプション
STEP
トランスセンター
STEP
トランスセンターの設定
STEP
マクロの設定 ⇒ VBAプロジェクトオブジェクトモデルへのアクセスを信頼する チェックをオン
STEP
チェックが入っているのを確認 ⇒ OK を押下
実行してみる
ステップ実行をしてみます。
正しく処理おこなわれると、左の『Sheet3』が『test』に変更されます。
実行後
コメント