如何让Visual Basic为Excel中的新工作表分配代号

时间:2018-06-10 12:00:06

标签: excel vba excel-vba

我希望我的工作簿用户能够向其中添加新工作表,并且工作表会自动为其指定一个代号以供Visual Basic使用。我注意到,当通过复制'添加新工作表时,这种工作非常有效。现有工作表,但在底部使用工具栏添加工作表时,或者从另一个工作簿添加工作表时,不会分配代号,即代号实际上是空白。我已经搜索过Google,发现打开Visual Basic代码会刷新代码,这就是它被分配的时候,因此代码可以从那一点开始工作,但是我想要的最后一件事就是用户必须打开代码代码有效。

在我的研究中,我发现人们说这是Excel中的一个错误,是的,在您打开代码之前,代号并没有被分配,但没有真正的解决方案。必须有一种方法可以触发VB分配代号而无需这样做。

我注意到我发现需要代码以编程方式访问VB的建议,但我想避免这种情况,因为这不是我想要在所有用户上启用的设置'计算机。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

试试这个:

Dim ws As Worksheet
Set ws = Worksheets.Add
ws.Name = "NewSheetName"
ThisWorkbook.VBProject.VBComponents(ws.CodeName).Name = "NewSheetCodeName"