Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1844to1848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eintrag aus Zelle soll Blattname werden

Eintrag aus Zelle soll Blattname werden
27.08.2021 09:45:14
Wolfango
Hallo Experten
ich habe sechs Arbeitsblätter in einer Arbeitsmappe. Nun möchte ich, dass jeweils der Inhalt von Zelle B7 (ein manuell eingegebenes Datum oder aber auch durch eine Formel erzeugt) automatisch zum Namen des Arbeitsblattes (Reiter-Name) wird. Und das jeweils für die gesamte Arbeitsmappe.
Ist das via VBA-Code möglich?
Danke und Gruß,
Wo

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eintrag aus Zelle soll Blattname werden
27.08.2021 09:53:07
Herbert
Moin moin,

Private Sub Worksheet_Activate()
If ActiveSheet.Range("B7")  "" Then
ActiveSheet.Name = Range("B7").Text
End If
End Sub
MfG
Herbert
AW: Eintrag aus Zelle soll Blattname werden
27.08.2021 09:54:48
Herbert
Den Code fügst du auf das jeweilige Tabellenblat ein.
AW: Eintrag aus Zelle soll Blattname werden
27.08.2021 10:20:43
Wolfango
....absolut super!!
Vielen lieben Dank!
Gruß, Wo
Alternativ...
27.08.2021 10:32:40
migre
Hallo Wolfango,
...zu Herberts Code in jedem Deiner 6 Tabellenblätter kannst Du folgenden Code im Modul der Arbeitsmappe nutzen (muss dann nicht mehr in den jew. Tabellenblatt-Modulen stehen):

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim wsN$, i%
If Sh.Index > 6 Then GoTo Hell
'Änderungen in B7 beeinflussen nur Blattnamen 1 - 6
With Sh
If Not Intersect(Target, Sh.Range("B7")) Is Nothing Then
If Target.Text = "" Then Sh.Name = Sh.Name: GoTo Hell
'Leere Eingabe in B7 beendet ohne Änderung
With Target
'Blattname max 31 Zeichen
For i = 1 To 31
Select Case Mid(.Text, i, 1)
Case "\", "/", "*", "[", "]", ":", "?"
'unerlaubte Zeichen in Blattnamen "entfernen"
Case Else
wsN = wsN & Mid(.Text, i, 1)
End Select
Next i
End With
Sh.Name = wsN
End If
End With
Hell:
End Sub
Mein Code berücksichtigt auch Deine Anforderung (so wie ich sie verstanden habe), dass bei Änderung in B7 des jeweiligen Blattes der Blattname sofort angepasst wird, und dies nur in den Blättern 1 - 6 (falls es uU weitere Blätter in der Mappe gibt). Darüber hinaus werden leere Eingaben in B7 ignoriert, sowie unerlaubte Zeichen im Blattnamen entfernt und Blattnamen auf die erlaubten 31 Zeichen begrenzt.
LG Michael
Anzeige
Danke für die Rückmeldung
27.08.2021 10:39:19
Herbert
Danke für die Rückmeldung!
Wenn du einen Code wünscht der Allgemeiner is und definiertere Funktionen hat,
musst du den Beitrag von Michael angucken, er hat dort einen gut verarbeiteten Code geschrieben.
MfG
Herbert

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige