Interessant. Ich habe gerade drei Makros geschrieben, die dies einigermaßen gut machen. Das erste Makro generiert am Ende Ihrer Arbeitsmappe ein Übersichtsblatt (mit dem Namen sh_summary ) und wählt es aus. Wählen Sie dann aus diesem neuen Übersichtsblatt einen der gewünschten Blattnamen aus (z. B. Zelle A2 auswählen), und starten Sie das zweite Makro, das das ausgewählte Blatt auswählt / navigiert. Das dritte Makro führt Sie zurück zum Übersichtsblatt. Die 2. und 3. Makros sollten zur schnellen Navigation gekürzt werden.
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