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

Forumthread: Blattname automatisch ändern

Blattname automatisch ändern
16.05.2016 11:31:33
Ahmadi
Hallo liebe Excel-Profis,
Ich bin in diesem Gebiet ein Neuling und alles, was ich über Excel weiß, verdanke ich den tollen Beiträgen in diesem Room. Dafür danke ich euch.
Nun zu meiner Frage,
Ich habe eine Tabelle erstellt, bestehend aus 7 Blättern. Das erste Blatt ist ein Monatsplan. Der Monat wird per dropdown ausgewählt und die Tabelle mit den Namen der Mitarbeite ausgefüllt. Blätter zwei bis 7 sind Wochenausschnitte des Monatsplans. Die Daten werden per wverweis auf die Wochenblätter übertragen.
Der Monatsplan ist editierbar. Die Wochenausschnitte sind geschützt und gesperrt. Sie sind nur da, um ausgedruckt zu werden.
Ich möchte, dass die Namen der Blätter automatisch geändert werden. Und zwar so:
KWX, wobei X für die Wochenzahl steht, die in der Zelle I2 jeder Woche ermittelt wird.
Dafür habe ich folgenden VBA aus dem Internet gefunden.

Private Sub Worksheet_change(ByVal Target As Excel.Range)
ActiveSheet.Name = "KW" & Range("I2").Value
ActiveSheet.Range("I2").Calculate
End Sub

Dieses Skript funktioniert dann, wenn ich den Schutz des jeweiligen Blattes aufhebe und in eine Zelle reinklicke. Dann wird der Name des geändert.
Kann man dieses Skript so umändern, dass sich der Name automatisch, ohne meinen Eingriff, ändert? Trotz des Blattschutzes?
Für eine Lösung wäre ich euch dankbar.
LG
Ahmadi

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattname automatisch ändern
16.05.2016 11:41:10
Hajo_Zi
wie erstellt man so was
Ich habe eine Tabelle erstellt, bestehend aus 7 Blättern.

zeige mal ein Beispiel.
ActiveSheet.unprotect
'restlicher code
ActiveSheet.protect

AW: Blattname automatisch ändern
16.05.2016 17:37:28
Ahmadi
Danke für die schnelle Antwort. Aber egal wie ich die Ergänzung des Codes dazu schreibe funktioniert nicht.
Wie gesagt, ich kenne mich mit VBA gar nicht aus. Der Schutz ist auch mit Passwort versehen. Kann mir jemand vielleicht helfen, wie ich den Code zu schreiben habe.
Mit bestem Dank

Anzeige
AW: Blattname automatisch ändern
16.05.2016 17:40:40
Hajo_Zi
leider Nein, da ich den Code nicht sehe und auch wie schon geschrieben die Datei nicht sehe.
ActiveSheet.unprotect "Password"
ich bin dann raus, da meine Beiträge nicht komplett gelesen werden.
Das wird schon seinen Grund haben.
Gruß Hajo

Anzeige
AW: Blattname automatisch ändern
16.05.2016 21:13:36
Ahmadi
Liebe Freunde...
weiß jemand, warum dieser Code nicht funktioniert
Private Sub Worksheet_change(ByVal Target As Excel.Range)
ActiveSheet.Unprotect Password:="mein Passwort"
ActiveSheet.Name = "KW" & Range("I2").Value
ActiveSheet.Range("I2").Calculate
ActiveSheet.Protect Password:="mein Passwort"
End Sub

Anzeige
AW: Blattname automatisch ändern
16.05.2016 21:43:05
KlausF
Hallo Ahmadi,
https://www.herber.de/bbs/user/105598.xls
Verändere mal Zelle I2
Voraussetzung ist, dass das Passwort "mein Passwort" lautet
Gruß
Klaus

AW: Blattname automatisch ändern
17.05.2016 19:13:55
Ahmadi
erstmal vielen Dank für den schnellen Antwort.
Das Problem besteht noch leider, weil
Dieser Code funktioniert so lange man die Zelle anklickt und die Zahl ändert. die Zelle I2 ist bei mir gesperrt und wird anhand einer Funktion von einer anderen Blatt befüllt.
Genauer gesagt:
Ich habe eine Montastabelle erstellt. diese Tabelle wird auf 5 darunterliegende Blätte aufgeteilt. Jedes Blatt steht für eine Woche. Die Blätter sind komplett geschützt. Die Wochenzahl steht in I2. Wenn ich den Monat ändere, ändert sich die Wochenzal in I2 auch, jedoch nicht der Blattname. erst, wenn ich die Sperre aufhebe und irgendwo das Blatt anklicke, dann ändert sich der Blattname.
Meine Frage war, ob es einen Weg gibt, dass man, das Blatt dazu bringt, den Namen automatisch zu ändern, ohne dass man dafür eine Zelle im Blatt anklicken muss.
Danke im Voraus und
LG

Anzeige
Beispielmappe
17.05.2016 23:14:38
KlausF
Hi,
ist ohne Ansicht einer von Dir erstellten Beispielmappe ein Blindflug ...
Gruß
Klaus

AW: Beispielmappe
18.05.2016 15:06:01
Ahmadi
https://www.herber.de/bbs/user/105625.xls
Hallo nochmal,
Hier ist meine Tabelle. Das Blatt Monatsnansicht soll im Bereich "Plan" und in der Zelle b2 editierbar. Die Blätter Woche1-Woche6 sollen komplett geschützt sein.
Wenn man den Monat per dropdown ändert, ändern sich auch die Kalenderwochen in I2 jedes jeweiligen Blattes.
Nun möchte ich das die Blätternamen, die für die Wochen stehen die Nummern aus I2 übernehmen.
Also in folgender Form: KW1, KW2, usw.
Der vorgeschlagene Code kann anscheinend nicht auf die Zelle I2 von jeweiligem Blatt zugreifen, wenn dieses gesperrt ist.
Danke nochmal
Gruß

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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

Blattnamen in Excel automatisch ändern


Schritt-für-Schritt-Anleitung

Um den Excel Blattnamen automatisch zu ändern und aus einer Zelle zu übernehmen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Projektfenster das entsprechende Tabellenblatt aus, für das Du den Namen ändern möchtest.
  3. Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Not Intersect(Target, Me.Range("I2")) Is Nothing Then
        Me.Unprotect Password:="dein Passwort"
        Me.Name = "KW" & Me.Range("I2").Value
        Me.Protect Password:="dein Passwort"
    End If
End Sub
  1. Stelle sicher, dass Du das Passwort für den Blattschutz anpasst.
  2. Schließe den VBA-Editor und speichere die Datei als Excel-Makrodatei (*.xlsm).

Dieser Code ändert den Excel Tabellenblatt Namen automatisch, wenn sich der Wert in Zelle I2 ändert.


Häufige Fehler und Lösungen

  1. Blattname ändert sich nicht: Stelle sicher, dass das Passwort korrekt ist und dass der Blattschutz nicht aktiv ist, wenn der Code ausgeführt wird.
  2. Zelle I2 ist gesperrt: Der Code funktioniert nur, wenn die Zelle I2 bearbeitbar ist. Überlege, ob Du den Blattschutz temporär aufheben möchtest.
  3. Fehler beim Ausführen des Codes: Überprüfe, ob Du den Code im richtigen Modul eingefügt hast (das spezifische Tabellenblatt).

Alternative Methoden

Falls Du keine VBA-Lösungen verwenden möchtest, könntest Du auch die folgenden Methoden in Betracht ziehen:

  • Excel-Formeln: Du kannst die Zellen manuell umbenennen, indem Du die gewünschten Namen in eine Liste schreibst und dann per Copy-Paste überträgst.
  • Makros: Erstelle ein Makro, das Du manuell ausführst, wenn Du die Blattnamen anpassen möchtest.

Diese Methoden sind jedoch nicht so automatisiert wie die VBA-Lösung.


Praktische Beispiele

Angenommen, Du hast die folgende Konfiguration:

  • Zelle I2 auf dem Blatt "Woche1" zeigt die Zahl 1 an.
  • Der Code wird ausgelöst und ändert den Blattnamen in "KW1".

Ähnlich kannst Du für die anderen Blätter, wie "Woche2", "Woche3" usw. vorgehen:

ActiveSheet.Name = "KW" & Range("I2").Value

Stelle sicher, dass die Zellen I2 in allen Blättern korrekt gefüllt sind, um die Excel Blattnamen aus Zellen zu übernehmen.


Tipps für Profis

  • Nutze die Application.EnableEvents-Eigenschaft, um zyklische Aufrufe zu vermeiden, wenn Du komplexe Änderungen vornimmst.
  • Dokumentiere Deinen VBA-Code, um es anderen Benutzern oder Dir selbst in der Zukunft zu erleichtern, den Code zu verstehen.
  • Teste Deinen Code in einer Kopie Deiner Datei, um unerwartete Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Warum ändert sich der Blattname nicht, wenn ich die Zelle I2 ändere?
Das kann passieren, wenn die Zelle I2 durch den Blattschutz nicht bearbeitet werden kann. Stelle sicher, dass die Zelle nicht gesperrt ist.

2. Kann ich den Code auch für andere Zellen verwenden?
Ja, ändere einfach die Referenz von Range("I2") auf die gewünschte Zelle.

3. Ist VBA in allen Excel-Versionen verfügbar?
Ja, VBA ist in den meisten Versionen von Excel verfügbar, aber einige Funktionen können je nach Version variieren.

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