Hallo,
jetzt habe ich die richtige Lösung:
Option Explicit
Dim lastSheet As Object
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Not lastSheet Is Nothing Then
If Sh.Type = xlWorksheet Then
Sh.Range("AA2").Formula = lastSheet.Name
End If
End If
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Set lastSheet = Sh
End Sub
Dieser Code muss im VBA-Editor in "Diese Arbeitsmappe" kopiert werden.
Was macht dieser Code?
Es werden zwei Ereignisse abgefangen:
sheet_deactivate (Wird ausgelöst beim Deaktivieren einer Tabelle)
sheet_activate (Wird ausgelöst beim Aktivieren einer Tabelle)
Beim Deaktivieren wird das Objekt in eine Variable zwischen gespeichert.
Beim Aktivieren der neuen Tabelle wird der Variablen-Inhalt ausgelesen und in die Zelle AA2 geschrieben.
LG, BigBen
|