在VBA代码中自动更改工作表编号

时间:2019-02-11 08:24:50

标签: excel vba

我有一本启用了VBA的excel工作簿,其中有20多张纸。现在,VBA中的代码正在使用工作表编号来调用工作表。

现在,我将不得不删除一张纸,这将使所有代码无法使用,因为如果我删除一张纸,则工作表编号会更改。

示例Worksheets(10).Activate将指向另一个工作表,因为我将删除第三个工作表

对此我还很陌生,所以这将是最快的方法,而不是手动更改代码中的工作表编号。

1 个答案:

答案 0 :(得分:1)

请注意,有3种方法可以访问工作表...

  1. 在标签栏中的位置:
    Worksheets(10)在标签栏中显示10ᵗʰ工作表。 请注意,如果您还有图表表,则编号不同于Sheets(10),后者可能是完全不同的表。

  2. ,通过其可见的标签栏名称:
    Worksheets("Sheet10")

  3. 的VBA名称:
    Sheet10
    请注意,只能在VBA-Editor的“项目”窗口中更改VBA名称。

请注意,Worksheets(10)Worksheets("Sheet10")Sheet10可以是完全不同的图纸,因为它们使用3个完全独立的命名系统。

使用哪个高度取决于您实际要执行的操作。通常,没有最佳选择,每个选择都有其优缺点。


此外,我强烈建议完全不要使用.Activate.Select。因此,请阅读How to avoid using Select in Excel VBA