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

Forumthread: Tabellenblatt automatisch umbenennen

Tabellenblatt automatisch umbenennen
19.03.2020 02:46:47
Lücke
Ich habe folgendes Anliegen/Problem:
Ich habe einen Dienstplan, der sich auf die Kalenderwochen (Kw) bezieht.
Dazu habe ich 57 Tabellenblätter eingerichtet. 52 Blätter für die Kalenderwochen von Beginn des lfd. Jahres an und die Restlichen zeigen die Kw des Folgejahres (1. Kw, 2. Kw, 3. Kw. …usw.).
Mein Plan ist, die Tabellenblätter jährlich automatisiert den Namen der entsprechenden Kalenderwoche zuzuweisen (umzubenennen).
Auf Jahre gesehen stellt sich allerdings ein Problem dar:
Das 1. Tabellenblatt ist nicht immer gleich die 1. Kalenderwoche.
Je nach Jahr kann die 1. Kw auch auf das 2. Tabellenblatt ‚rutschen‘.

Das 1. Tabellenblatt erhält in dem Fall einen gesonderten Wert/Namen. In der Folge werden alle anderen Tabellenblätter die Namen der jeweiligen Kalenderwochen zugeordnet.
Die Zelle ‚ZZ1‘ eines jeden Tabellenblattes ermittelt hierbei per Formel den Wert/Namen, der letztlich als Tabellenblattname übernommen werden soll.
Diesbezüglich habe ich Grundlegendes im Netz gefunden. Aber leider nichts, was mich der Lösung meines Problems näher brachte.
Hier die oben erwähnte Besonderheit etwas anschaulicher:
1. Tabellenblatt – Name = ‚letzte Woche Vorjahr‘
2. Tabellenblatt – Name = ‚1. Kw‘
3. Tabellenblatt – Name = ‚2. Kw‘
4. …
Wenn die Blätter nun automatisiert umbenannt werden sollen, dann wird bei dem Versuch das 1. Tabellenblatt umzubenennen ein Fehler angezeigt, da der Name ‚1. Kw‘ ja bereits für das 2. Tabellenblatt existiert.
Mein gedanklicher Lösungsansatz wäre:
Ein Code, der den neuen Tabellennamen aus einer Zelle (z.B. ‚AAA1) eines jeden Tabellenblattes bezieht, setzt alle Tabellenblätter auf einen numerischen Wert (1 bis 57). Ein doppelter Blattname wird somit verhindert.
Ein zweiter nachfolgender Code, der den jeweiligen Wert/Namen aus einer Formel der Zelle ‚ZZ1‘ bezieht, benennt die Tabellenblätter sodann in die entsprechende Kalenderwoche um.
Nach hinten heraus erhalten die Kalenderwochen des nachfolgenden Jahres durch die Zelle ‚ZZ1‘ gesonderte Bezeichnungen, die sich nicht mit den anderen Kalenderwochen ‚beißen‘.
Im Normalfall ist die Änderung/Aktualisierung der Tabellenblattnamen erst mit dem Jahreswechsel notwendig, so dass eine automatisierte Änderung/Aktualisierung beim Öffnen der Mappe nicht sinnvoll ist. Die Auslösung der Änderung/Aktualisierung soll daher per Button erfolgen.
Meine VBA-Kenntnisse stecken in den Kinderschuhen und meine bisherigen Versuche sowie Recherchen zu diesem scheinbar speziellen Thema sind leider erfolglos geblieben .
Ich wäre Euch daher dankbar wenn Ihr mir helfen könntet mein Anliegen umzusetzen.
Beste Grüße
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt automatisch umbenennen
19.03.2020 07:12:18
Matthias
Hallo
Zitat
Ein Code, der den neuen Tabellennamen aus einer Zelle (z.B. ‚AAA1) eines jeden Tabellenblattes bezieht, setzt alle Tabellenblätter auf einen numerischen Wert (1 bis 57). Ein doppelter Blattname wird somit verhindert.
Das ist doch überhaupt nicht nötig.
Alle Register haben einen Index von 1 bis Worksheets.Count
Das sollte doch als Grundlage ausreichen.
Ich würde es genau andersherum machen
Die Registerblätter haben feste Namen, z.B. VorJahr, KW1, KW2, KW3 usw.
Jetzt kannst Du per Formel in einer Zelle den Blattregisternamen ausgeben.
VorJahr

 ABC
12019Blattname:VorJahr

Formeln der Tabelle
ZelleFormel
C1=TEIL(ZELLE("Dateiname";A1);FINDEN("]";ZELLE("Dateiname";A1);1)+1;99)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8


In der KW1 dann so:
KW1

 ABC
12020Blattname:KW1

Formeln der Tabelle
ZelleFormel
A1=VorJahr!A1+1
C1=TEIL(ZELLE("Dateiname";A1);FINDEN("]";ZELLE("Dateiname";A1);1)+1;99)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Ab der KW2 dann so:
KW2

 ABC
12020Blattname:KW2

Formeln der Tabelle
ZelleFormel
A1='KW1'!A1
C1=TEIL(ZELLE("Dateiname";A1);FINDEN("]";ZELLE("Dateiname";A1);1)+1;99)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
usw.
Nun brauchst Du Dich mit Deinen Kalenderdaten immer nur auf das Jahr und die entsprechende KW beziehen.
Ein Umbenennen ist so überflüssig. Beginnt ein neues Jahr änderst Du nur in Vorjahr!A1 die Jahreszahl.
Damit das auch funktioniert muss die Datei bereits gespeichert sein!
Gruß Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt automatisch umbenennen in Excel


Schritt-für-Schritt-Anleitung

Um ein Excel Tabellenblatt automatisch umbenennen zu können, benötigst Du grundlegende Kenntnisse in Excel und eventuell VBA. Hier ist eine einfache Anleitung, wie Du dies umsetzen kannst:

  1. Öffne Excel und erstelle eine neue Tabelle oder öffne deine bestehende Datei mit den Tabellenblättern.

  2. Zellen für die Blattnamen festlegen:

    • Lege in jedem Tabellenblatt eine Zelle fest (z.B. ZZ1), die den gewünschten Namen des Tabellenblatts enthält.
  3. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  4. Modul einfügen:

    • Klicke im Menü auf Einfügen > Modul, um ein neues Modul zu erstellen.
  5. VBA-Code eingeben:

    • Füge folgenden Code in das Modul ein:
    Sub TabellenblattUmbenennen()
       Dim ws As Worksheet
       For Each ws In ThisWorkbook.Worksheets
           On Error Resume Next ' Fehler ignorieren, falls Name schon existiert
           ws.Name = ws.Range("ZZ1").Value
           On Error GoTo 0 ' Fehlerbehandlung zurücksetzen
       Next ws
    End Sub
  6. Code ausführen:

    • Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle TabellenblattUmbenennen und klicke auf Ausführen.
  7. Speichern:

    • Speichere Deine Datei im .xlsm-Format, um die Makros zu erhalten.

Häufige Fehler und Lösungen

  • Fehler: "Der Blattname ist ungültig":

    • Stelle sicher, dass der Name in der Zelle ZZ1 keine illegalen Zeichen enthält (z.B. \ / [ ] :).
  • Fehler: "Name bereits vorhanden":

    • Überprüfe, ob der Name bereits einem anderen Tabellenblatt zugewiesen ist. Du kannst den Code anpassen, um automatisch eine Nummer hinzuzufügen (z.B. KW1, KW2).

Alternative Methoden

Falls Du Excel Tabellenblätter automatisch benennen ohne Makro möchtest, kannst Du eine Formel verwenden:

  1. Zelle A1 in jedem Tabellenblatt mit einer Formel füllen, die den Namen des Blattes zurückgibt:

    =TEXT(KALENDERWOCHE(HEUTE()); "KW0")
  2. Die Zelle ZZ1 kann dann eine Verknüpfung zu A1 sein, sodass der Blattname immer aktuell bleibt.


Praktische Beispiele

  • Automatisierte Benennung für Dienstpläne:

    • Lege in jedem Tabellenblatt den Namen der Kalenderwoche in ZZ1 fest. Wenn Du das Makro ausführst, werden die Blätter entsprechend benannt, z.B. KW1, KW2, etc.
  • Excel Kalenderwoche fortlaufend:

    • Verwende Formeln, um die Kalenderwochen automatisch zu berechnen und diese in den Zellen zu speichern, die dann als Blattnamen verwendet werden.

Tipps für Profis

  • Nutze Excel Shortcuts, um schneller zwischen den Blättern zu navigieren:

    • CTRL + Page Up oder CTRL + Page Down, um zwischen den Blättern zu wechseln.
  • Stelle sicher, dass Du regelmäßig deine Datei speicherst, besonders wenn Du mit VBA arbeitest.

  • Experimentiere mit Bedingungen in Deinem VBA-Code, um spezifische Namen zuzuweisen, abhängig von bestimmten Kriterien.


FAQ: Häufige Fragen

1. Kann ich mehrere Tabellenblätter gleichzeitig umbenennen?
Ja, Du kannst in der Schleife des VBA-Codes mehrere Blätter nacheinander umbenennen.

2. Wie kann ich einen Shortcut für das Umbenennen eines Tabellenblattes erstellen?
Du kannst einen Shortcut im VBA-Editor festlegen, indem Du im Menü Extras > Makros > Makros wählst und dann eine Tastenkombination vergibst.

3. Geht das Umbenennen auch ohne Programmierung?
Ja, Du kannst die Blätter manuell umbenennen, indem Du mit der rechten Maustaste auf das Blatt klickst und Umbenennen wählst, es ist jedoch nicht automatisiert.

4. Wie kann ich sicherstellen, dass keine doppelten Blattnamen entstehen?
Du kannst eine Routine im VBA-Editor erstellen, die prüft, ob der gewünschte Name bereits existiert, und gegebenenfalls automatisch einen neuen Namen generiert.

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