Excelシートのオブジェクト名をVBAで変更する方法

VBAシートのオブジェクト名を変更する方法
目次

Excelシートのオブジェクト名をVBAで変更する方法

今回は、シートオブジェクトのプロパティにある『オブジェクト名』を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』に変更されます。

実行後

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次