Tabellenblatt automatisch benennen
Kann man ein Tabellenblatt automatisch benennen lassen? zum beispiel durch das Wort, das in Zelle B3 eines Tabellenblattes steht?
Ich bastle grad an einer Konzertabrechnugsmappe als Vorlage. In den Tabellenblättern 3 bis 5 stehen die Daten für die einzelenen Konzerttage (3 Konzerttage in Folge sollen abgerechnet und kalkuliert werden) In diesen drei Tabellenblättern steht jeweils in Zelle B3 der jeweilige Ort des Konzertes.
Jetzt wäre es wünschenswert, wenn das Tabellenblatt auch den Namen des Ortes des Konzertes hätte
- oder umgedreht: kann ich in einer Zelle den Namen des Tabellenblattesübernehmen? dann könnte ich Zelle b3 = "Name des Tabellenblattes" eingeben... das wäre das gleiche Ergebnis auf umgedrehtem Wege.. Wäre beides für mich in Ordnung.
Vielen Dank in die Runde!
Gruß Andreas
2 Antworten
Das dürfte imho nur per VBA zu lösen sein.
Wenn Du Dich ein bisschen damit auskennst, dann kopiere diesen Code in das Modul des Arbeitsblattes:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B3")) Is Nothing Then _
Sh.Name = Target.Value
End Sub
Dann wird, immer wenn Du den Eintrag in B3 änderst, das Tabellenblatt umbenannt.
Wenn Du nicht weist, wie Du das einfügen sollst, dann frage nochmal nach. Ist recht einfach.
Hallo Oubyi, danke für die Hilfe. Ich hatte auch so einen ähnlichen Fall. Es klappt, aber vielleicht könntest du mir noch weiter helfen:
Nämlich: ich habe immer 4 Tabellenblätter, pro Blatt eine Kalenderwoche. Ich habe nun mit deinem Tipp die Arbeitsmappe so verändert, dass (bei mir) in Zelle C3 die Zahl(KW) reinkommt und sich dann die Beschriftung des Tabellenblatts ändert.
Eine perfekte Erweiterung wäre, wenn sich diese Funktion auch auf Formeln auswirken würde: z.B.
Tabellenblatt 1: Zelle C1: 10 (das soll die KW sein)
Tabellenblatt 2: Zelle C1: =Zelle C1 vom Tabellenblatt 1 +1
usw.
Vielleicht hast du auch eine Lösung dafür?
Danke LG Claudia
OK. Vergiss die Ribbons.
Drücke:
ALT & F11
Dann öffnet sich der VBA-Editor.
Der ist in mehrere Bereiche unterteilt.
Links oben ist:
"Projekt-VBAProject"
Darunter ist ein Datei-Baum, in dem auch Deine Datei steht, also z.B.
VBAProject(Mappe1.xlsx)
DARUNTER steht Microsoft Excel Objekte:
DARUNTER sind Deine Tabellenblätter aufgeführt, aber ZUERST steht dort:
DieseArbeitsmappe
Darauf machst Du einen DOPPELKLICK.
In das große leere Fenster rechts oben (also dass, dass UNTER (Allgemein) und (Deklararionen) ist, wirklich das größte Fenster), kopierst Du jetzt meinen fettgedruckten Code.
Dann kannst Du das Ganze wieder schließen.
Jetzt sollte sich bei jedem neuen Eintrag in Zelle B3 irgendeines Blattes, der Blattname ändern.
Speichern nicht vergessen.
Klappt es?
SUPER! Vielen vielen Dank
dass ich dass jetzt als .xlsm Datei speichern msus, wei0ß ich ja zum Glück schon ;-)
Vielen vielen Dank!
Freut mich, dass ich helfen konnte ☼
Danke fürs Kompliment.
Der umgedrehte weg geht auch:
=TEIL(ZELLE("Dateiname");FINDEN("]";ZELLE("Dateiname"))+1;31)
liest die den Blattnamen aus! Funktioniert aber erst nachdem die Datei gespeichert wurde. Wenn du es in einen neue noch nicht gespeicherte Datei schreibst kommt #WERT
Auch nicht schlecht. Vielen Dank das wäre für meinen aktuellen Fall die Lösung, wenn jemand die Tabelle nutzen will, der ein Problem mit Makros hat... (Zuhause mit Excel 2010 geht auch schon ohne speichern!)
Sicher in andern Fällen auch gut anzuwenden.
Vielen Dank
Nein es kann nicht ohne speichern funktionieren. Dann war die Datei vorher schon mal gespeichert.
ne so richtig weiß ich nicht wie ich das machen soll... (ich hab EXCEL 2007)
ich gehe also erst mal auf "ENTWICKLERTOOLS" dann ganz links "VISUAL BASIC"
dann hab ich erst mal ein graues Fenster...
[...und tausend Fragen ;-) und viele Möglichkeiten ]