小编Fu1*_*13R的帖子

VBA更改表格代号运行时错误9:下标超出范围

我有一些代码,当我按下一个按钮时,它调用一个sub,它将向工作簿添加一个新工作表,然后更改工作表的代号,以便以后在我的代码中更容易引用.具体如下:

Dim wbk As Workbook
Dim wks As Worksheet

Set wbk = ThisWorkbook

wbk.Sheets.Add.Name = "Admin - Save Log"
Set wks = wbk.Worksheets("Admin - Save Log")
wks.Parent.VBProject.VBComponents(wks.CodeName).Name = "wksAdminSaveLog"
Run Code Online (Sandbox Code Playgroud)

这似乎工作 - 但是 - 只有当我打开"开发人员"窗口或之前打开它时.

如果我在第一次打开Excel文档时单击该按钮(尚未打开"开发人员"窗口),则会添加工作表,但会出现以下错误,并且不会更改工作表的代号:

运行时错误'9':下标超出范围

只有当我按下Debug然后在"Developer"窗口再次打开后运行代码时才会添加代号.

有没有办法解决这个问题,以便用户不必打开开发人员窗口才能正常运行?

谢谢

vba runtime-error rename worksheet excel-vba

9
推荐指数
2
解决办法
1004
查看次数

标签 统计

excel-vba ×1

rename ×1

runtime-error ×1

vba ×1

worksheet ×1