Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Worksheet_Deactivate Name der Verlassenen Tabelle an Sub übergeben
#1
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
Antworten Top
#2
Hallöchen,

es gibt auch ein Deactivate - Ereignis Smile Da kannst Du den Namen abgreifen ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo,
ich dachte das Deactivate - Ereignis geht nur in Forms
wie ruft man das  in der Tabelle auf?

Grüße Rolf
Antworten Top
#4
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 ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Zunächst Danke,

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

für jede Tabelle anpassen.

Grüße 'Rolf
Antworten Top
#6
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste