Ich kaufe mir jetzt ein Fernglas. Dann sehe ich weiter.

Eine hübsche Frage letzte Woche auf dem Excelstammtisch: In einer Arbeitsmappe befinden sich mehrere Tabellenblätter. Ich arbeite auf einem Blatt, wechsel zu einem anderen, arbeite dort und möchte nun zum ersten Blatt zurückspringen, auf dem ich zuvor gearbeitet habe. In Word gibt es dafür eine Taste: [Umschalt] + [F5]. Und Excel? Leider nichts. Also ein kleines Makro:

In einem Modul deklariere ich eine globale Stringvariable und verwende sie, um zu dem Blatt zu springen:

Public strBlattname As String

Sub GeheZuLetztemBlatt()

On Error Resume Next

ActiveWorkbook.Sheets(strBlattname).Activate

End Sub

Und nun in „DieseArbeitsmappe“. Im Ereignis

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

strBlattname = Sh.Name

End Sub

„merkt“ sind VBA nun in der Variablen strBlattnamen den Namen des Blattes, von welchem du aus weggesprungen bist. Beim Öffnen der Datei kann dieses Makro noch auf eine Taste gelegt werden, beispielsweise Umschalt + F5:

Private Sub Workbook_Open()

Application.OnKey „+{F5}“, „GeheZuLetztemBlatt“

End Sub

In dieser Datei funktioniert es. Man kann es auch als Add-In speichern, damit es in jeder Datei funktioniert. Dazu muss man ein Public WithEvents … deklarieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.