通过variables引用工作表

我想通过索引在工作簿中引用表格。 – 基本上,我想通过循环运行并清除几个工作表上的某些单元格。

目前我写了一些vba,其中包括代码如下:

Sheet36.Activate Range(“B3:T201”)。ClearContents

每次重复每张纸,例如:Sheet37.Activate Range(“B3:T201”)。ClearContents

所有的答案赞赏。

澄清增加感谢ExcelHero。

您可以使用您感兴趣的特定工作表的集合。例如:

Private mChosenSheets As Collection Sub Init() Set mChosenSheets = New Collection ' Add here whichever worksheets you want in your iterable list mChosenSheets.Add Sheet6 mChosenSheets.Add Sheet36 mChosenSheets.Add Sheet38 ' etc... End Sub Sub ClearChosenSheets() Dim sht As Worksheet For Each sht In mChosenSheets sht.Range("B3:T201").ClearContents Next End Sub 

如果您只是想遍历工作簿中的每个工作表,则可以使用Workbook.Worksheets集合。

如果你只有几张你想要清除范围的表单,那么很容易在同一时间引用它们:

 Sheets(Array("Sheet36", "Sheet37").Range("B3:T201").ClearContents 

但是,如果你真的想循环所有的床单,那么这是如何:

 Dim sh For Each sh In Worksheets sh.Range("B3:T201").ClearContents Next