Clever-Excel-Forum

Normale Version: Worksheet_Deactivate Name der Verlassenen Tabelle an Sub übergeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Schönen Tag zusammen,



Mit dem nachfolgenden Code



Private Sub Worksheet_Activate()

Dim Erow As Long, ECol As Long, WKSName As String

Erow = Range("a1").CurrentRegion.Rows.Count

ECol = Range("a1").CurrentRegion.Columns.Count

WKSName = ActiveSheet.Name


    ActiveWorkbook.Names.Add Name:=WKSName, RefersTo:=Range(Cells(1, 1), Cells(Erow, ECol))

End Sub



Ich würde das gerne beim verlassen der Tabelle den Bereich aktualiseren.
Leider gibt der Code beim verlassen den Namen der Tabelle zurück zu der ich gewechselt bin.



mit    WKSName = ThisWorkbook.Worksheets("Listen_2021").Name
kann ich das umgehen, aber dann müsste ich den Code für jede Tabelle anpassen.



Hat jemand einen Tipp ?
Danke schon mal und schöne Ostern
Rolf
Hallöchen,

es gibt auch ein Deactivate - Ereignis Smile Da kannst Du den Namen abgreifen ...
Hallo,
ich dachte das Deactivate - Ereignis geht nur in Forms
wie ruft man das  in der Tabelle auf?

Grüße Rolf
Hallöchen,

das wird Dir im Codemodul vom Tabellenblatt auch oben in der Auswahl mit angeboten. Links das WorkSheet wählen, und rechts dann Deactivate. Ansonsten, der Aufruf ist nur ein De länger als das Activate Smile

Im Blatt bekommst Du den Blattname schnell mit Me.Name und könntest ihn z.B. an eine globale Variable übergeben oder als Parameter an eine Function oder ein Sub ...
Zunächst Danke,

ich werde wohl die CodeZeile
WKSName = ThisWorkbook.Worksheets("Listen_2021").Name

für jede Tabelle anpassen.

Grüße 'Rolf
Hallöchen,

wenn Du das für jedes Blatt haben willst dann schaue mal in das CodeModul von DieseArbeitsmappe.
Dort gibt es ein

Workbook_SheetDeactivate

Da ist dann auch das Sheet dabei. Die Namensvergabe könnte dann so aussehen:

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
ActiveWorkbook.Names.Add Name:=sh.Name, RefersTo:=sh.Range(sh.Cells(1, 1), sh.Cells(Erow, ECol))
End Sub