Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Blattname aus Zelle übernehmen in Excel


Schritt-für-Schritt-Anleitung

Um den Blattnamen in Excel aus einer Zelle zu übernehmen, kannst du den folgenden VBA-Code verwenden. Dieser Code wird dafür sorgen, dass der Inhalt von Zelle B7 automatisch als Blattname verwendet wird, wenn das Arbeitsblatt aktiviert wird.

  1. Öffne die Excel-Arbeitsmappe, in der du den Blattnamen aus einer Zelle übernehmen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Wähle das entsprechende Arbeitsblatt im Projektfenster aus.

  4. Füge den folgenden Code in das Modul des ausgewählten Arbeitsblattes ein:

    Private Sub Worksheet_Activate()
       If ActiveSheet.Range("B7") <> "" Then
           ActiveSheet.Name = Range("B7").Text
       End If
    End Sub
  5. Schließe den VBA-Editor und kehre zu deiner Excel-Datei zurück.

  6. Ändere den Inhalt von Zelle B7 und aktiviere das Blatt, um den neuen Namen zu sehen.


Häufige Fehler und Lösungen

  • Fehler: „Der Name ist ungültig“

    • Wenn du einen ungültigen Namen in B7 eingibst (z.B. mit unerlaubten Zeichen), wird Excel eine Fehlermeldung anzeigen. Stelle sicher, dass der neue Blattname keine der folgenden Zeichen enthält: \ / * [ ] : ?.
  • Fehler: Blattname wird nicht aktualisiert

    • Überprüfe, ob der VBA-Code korrekt eingegeben wurde und dass du das richtige Arbeitsblatt ausgewählt hast.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du den Blattnamen auch manuell ändern, indem du mit der rechten Maustaste auf den Blattnamen klickst und „Umbenennen“ wählst. Eine automatische Zuweisung des Blattnamens aus einer Zelle ist jedoch nur mit VBA möglich.

Ein anderer Ansatz ohne VBA wäre, den Blattnamen in eine Zelle zu schreiben und die Zelle dann als Referenz in Formeln zu verwenden, jedoch bleibt der Blattname selbst unverändert.


Praktische Beispiele

  1. Beispiel für den VBA-Code zur Übernahme des Blattnamens:

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
       Dim wsN As String, i As Integer
       If Sh.Index > 6 Then Exit Sub
       If Not Intersect(Target, Sh.Range("B7")) Is Nothing Then
           If Target.Text = "" Then Exit Sub
           For i = 1 To 31
               Select Case Mid(Target.Text, i, 1)
                   Case "\", "/", "*", "[", "]", ":", "?"
                   Case Else
                       wsN = wsN & Mid(Target.Text, i, 1)
               End Select
           Next i
           Sh.Name = wsN
       End If
    End Sub
  2. Verwendung in einer Formel: Du kannst den Blattnamen auch in einer Formel nutzen, indem du den Namen der Zelle direkt referenzierst. Zum Beispiel:

    =INDIREKT("'" & B7 & "'!A1")

Tipps für Profis

  • Verwende den Code zur Übernahme des Blattnamens in allen Blättern durch das Platzieren des Codes im „ThisWorkbook“-Modul. So wird der Blattname automatisch aktualisiert, ohne dass du den Code in jedes einzelne Blatt einfügen musst.
  • Achte darauf, dass der Blattname maximal 31 Zeichen lang ist. Dies ist die maximale Zeichenanzahl, die Excel für Blattnamen erlaubt.
  • Um den Blattnamen aus einer Zelle zu verwenden, kann der Code weiter angepasst werden, sodass er auch auf Änderungen in anderen Zellen reagiert.

FAQ: Häufige Fragen

1. Wie kann ich den Blattnamen aus einer Zelle ohne VBA übernehmen? Es ist nicht möglich, den Blattnamen automatisch aus einer Zelle zu übernehmen, ohne VBA zu verwenden. Du kannst den Namen jedoch manuell ändern.

2. Was sind die Einschränkungen für Blattnamen in Excel? Blattnamen dürfen maximal 31 Zeichen lang sein und dürfen keine der folgenden Zeichen enthalten: \ / * [ ] : ?.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige