我有一本启用了VBA的excel工作簿,其中有20多张纸。现在,VBA中的代码正在使用工作表编号来调用工作表。
现在,我将不得不删除一张纸,这将使所有代码无法使用,因为如果我删除一张纸,则工作表编号会更改。
示例Worksheets(10).Activate
将指向另一个工作表,因为我将删除第三个工作表
对此我还很陌生,所以这将是最快的方法,而不是手动更改代码中的工作表编号。
答案 0 :(得分:1)
请注意,有3种方法可以访问工作表...
在标签栏中的位置:
Worksheets(10)
在标签栏中显示10ᵗʰ工作表。
请注意,如果您还有图表表,则编号不同于Sheets(10)
,后者可能是完全不同的表。
,通过其可见的标签栏名称:
Worksheets("Sheet10")
的VBA名称:
Sheet10
请注意,只能在VBA-Editor的“项目”窗口中更改VBA名称。
请注意,Worksheets(10)
,Worksheets("Sheet10")
和Sheet10
可以是完全不同的图纸,因为它们使用3个完全独立的命名系统。
使用哪个高度取决于您实际要执行的操作。通常,没有最佳选择,每个选择都有其优缺点。
此外,我强烈建议完全不要使用.Activate
和.Select
。因此,请阅读How to avoid using Select in Excel VBA。