根据单元格值设置表单数组

我想知道是否可以根据不同工作表的单元格值设置一个数组。 例如,我有一个文档,我首先根据它们在“C3”中的值重命名工作表,

Sub rename() Dim ws As Worksheet For Each ws In Sheets On Error Resume Next ws.Name = ws.Range("C3") Next ws End Sub 

之后,我创build一个新的文档并循环遍历每个“旧”表来search特定的值。 但是因为我知道表格是如何命名的,所以我的范围和其他设置看起来像这样

 Dim i As Integer Dim resultrange As Range Dim row As Range Dim sheetsArray As Sheets Set sheetsArray = ActiveWorkbook.Sheets(Array("10", "20", "30", "40", "50")) Dim target As Range Dim sheetObject As Worksheet Dim lastrow As Long lastrow = Cells.SpecialCells(xlCellTypeLastCell).row 

我对下面的代码有点担心,因为现在我知道Sheets是如何命名的。

 Set sheetsArray = ActiveWorkbook.Sheets(Array("10", "20", "30", "40", "50")) 

所以我的问题在这里,是否可以设置一个数组而不知道如何命名? 或者是否可以根据单元格中的名称给出范围?

我希望我可以把我的问题expression出来

您可以将工作表索引存储在数组中。 他们不会改变,除非工作表的顺序改变。

在这里输入图像说明