![見出し画像](https://assets.st-note.com/production/uploads/images/19434281/rectangle_large_type_2_f638058bd133988c64aec503a5cb91e5.jpeg?width=1200)
Photo by
hism
ワークシートのオブジェクト名を変えたい
ActiveSheet.CodeName
上のプロパティだと取得はできるけど読み取り専用なのでオブジェクト名を書き換えるのは不可。
VBプロジェクトを経由してアクセスする必要がある。
'ブック内のシートを表示順に連番のオブジェクト名をつけるサンプル
Sub CodeNameChange()
Dim iCnt As Long
Dim iName As String
For iCnt = 1 To ThisWorkbook.Worksheets.Count
iName = "Sheet" & Format(iCnt, "00")
ThisWorkbook.VBProject.VBComponents(ThisWorkbook.Worksheets(iCnt).CodeName).Name = iName
Next iCnt
End Sub
使うときは[VBAプロジェクトオブジェクトモデルへのアクセスを信頼する]のオプションを有効にする必要があるのであまり推奨されるやり方ではないかもしれない。
いいなと思ったら応援しよう!
![タナイ](https://assets.st-note.com/production/uploads/images/172553734/profile_b88f06107b7ac8d99fd1082432949e71.jpg?width=600&crop=1:1,smart)