创建新工作表时,可以使用.name = "Name Here!"
设置名称。但是,VBA对象仍将使用“ Sheet1”作为名称。
如何创建新工作表并设置VBA对象名称?
请注意,我不是在问如何设置工作簿上显示的名称,也不是.name属性。
答案 0 :(得分:5)
这应该可以解决问题:
Public Sub Change_Codename()
Dim ws As Object
Set ws = ActiveWorkbook.Sheets("Sheet1")
With ws
.Parent.VBProject.VBComponents(.CodeName) _
.Properties("_CodeName") = "Test"
End With
End Sub
只需将“测试”更改为您想要工作表的代号即可。
这是执行代码后我的对象的样子:
此外,通过转到文件->选项->信任中心->信任中心设置... ,确保您已信任对VBA项目模型的访问。在宏设置下,确保选中“信任对VBA项目对象模型的访问”,如下所示: