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

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。
SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。
お気軽にお問い合わせください。
目次
Excelシートのオブジェクト名をVBAで変更する方法
今回は、シートオブジェクトのプロパティにある『オブジェクト名』をVBAで変更する方法を紹介します。
シート名の表示名を変更する場合は、こちらの記事をお読みください。
合同会社縁紡ぐ


【VBA】ワークシートの名前を変更する方法(画像付) | 合同会社縁紡ぐ
【VBA】ワークシートの名前を変更する方法(画像付) Excel VBA(Visual Basic for Applications)を使って、ワークシートの名前を変更する方法を紹介します。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』に変更されます。

実行後

記事を書いた人

稲垣
- Excel、ACCESSでのシステム開発が得意
- ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
- 自家焙煎するほどのコーヒー好き
- 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
- 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
- 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
- お客様にとって本当に良いことかを第一に考える人
コメント