根据单元格值设置sheetarray

时间:2016-09-08 08:33:51

标签: excel vba excel-vba

我想知道是否可以根据不同工作表中的单元格值设置数组。例如,我有一个文档,我首先根据它们在“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

之后,我创建一个新文档并遍历每个“旧”工作表以搜索特定值。但由于我知道如何命名表格,我的范围和其他设置看起来像这样

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

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

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

所以我的问题是,是否可以在不知道工作表如何命名的情况下设置数组?或者是否可以根据单元格中的名称给出范围?

我希望我能表达我的问题是可以理解的

1 个答案:

答案 0 :(得分:1)

您可以将工作表索引存储在数组中。除非工作表的顺序发生变化,否则它们不会改变。

{{3}}