Interessante. Acabei de escrever três macros que farão isso razoavelmente bem. A primeira macro gera uma folha de resumo (chamada sh_summary ) no final da pasta de trabalho e a seleciona. Em seguida, a partir dessa nova planilha de resumo, você seleciona um dos nomes de planilhas desejados (por exemplo, selecione a célula A2) e, em seguida, inicia a segunda macro que selecionará / navegará até a planilha escolhida. A terceira macro levará você de volta à planilha de resumo. A segunda e terceira macros devem ser de corte curto, para navegação rápida.
1:
Sub findSheets()
Dim sheetNum As Integer
Dim i As Integer
Dim theSh(999)
'count sheets:
sheetNum = ActiveWorkbook.Worksheets.Count
'check for a summary sheet and delete it if found:
For i = 1 To sheetNum
If ActiveWorkbook.Worksheets(i).Name = "sh_summary" Then
Application.DisplayAlerts = False
ActiveWorkbook.Worksheets(i).Delete
Application.DisplayAlerts = True
End If
Next i
'count sheets again:
sheetNum = ActiveWorkbook.Worksheets.Count
'get sheet names
For i = 1 To sheetNum
theSh(i) = ActiveWorkbook.Worksheets(i).Name
Next i
'create summary sheet:
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Select
Sheets(Sheets.Count).Name = "sh_summary"
'print sheet names on summary sheet:
For i = 1 To sheetNum
Cells(1, 1).Value = "Worksheet summary:"
Cells((1 + i), 1).Value = theSh(i)
Next i
End Sub
2:
Sub navToSheet()
On Error Resume Next
ActiveWorkbook.Worksheets(ActiveCell.Value).Select
If Err.Number <> 0 Then
MsgBox "Can't find sheet - select and try again."
Err.Clear
End If
End Sub
3:
Sub navToSummary()
On Error Resume Next
ActiveWorkbook.Worksheets("sh_summary").Select
If Err.Number <> 0 Then
MsgBox "Can't find summary sheet."
Err.Clear
End If
End Sub