VBA使用代码在电子表格中select多个选项卡

我有一个电子表格3个选项卡。 我需要下面的代码来select前两个选项卡。 我几乎拥有它,但Sheets(Array(c)).Select部分返回一个错误。 基本上我需要最后一节返回作为表(数组(“Sheet1”,“Sheet2”))

 Sub HideUnhide2() Dim a As String Dim b As Double Dim c As String Application.Calculation = xlManual For I = 1 To 100 If Range("d5") <> "Entity:" Then Exit For 'Start c = c & ", " & Chr(34) & ActiveSheet.Name & Chr(34) 'End b = b + 1 ActiveSheet.Next.Select Next I ' End If c = Right(c, Len(c) - 2) MsgBox c Sheets(Array(c)).Select Application.Calculation = xlAutomatic MsgBox "Total tabs updated = " & b End Sub 

任何帮助表示赞赏。

这个怎么样?

 Sub SelectTabs() Dim numSheets As Integer numSheets = 5 Dim aSheets() As String ReDim aSheets(numSheets - 1) For i = 0 To numSheets - 1 aSheets(i) = ActiveWorkbook.Worksheets(i + 1).Name Next i ActiveWorkbook.Worksheets(aSheets()).Select End Sub 

通过Worksheet.Select方法 ,您可以指定是否要添加或replace当前select:

 Dim ws as Worksheet, replaceSelection As Boolean replaceSelection = True For Each ws In ThisWorkbook.Worksheets If ws.Range("d5") = "Entity:" Then ws.Select Replace:=replaceSelection replaceSelection = False End If Next 

要从当前表格中select开始:

 Dim ws as Worksheet, replaceSelection As Boolean replaceSelection = True While Not ws Is Nothing If ws.Range("d5") = "Entity:" Then ws.Select Replace:=replaceSelection replaceSelection = False End If Set ws = ws.Next Wend