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

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

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。

SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。

お気軽にお問い合わせください。

目次

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』に変更されます。

実行後

記事を書いた人

稲垣

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

コメント

コメントする

目次