Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
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

Arbeitsblatt mit vba umbenennen

Arbeitsblatt mit vba umbenennen
17.02.2016 19:08:40
Paul
Hallo,
ich möchte das meine Tabelle per vba automatisch beim schließen einige Tabellenblattnamen ändert. Ich habe das mit folgendem Code versucht, das klappt aber nicht.
Worksheets(8).Name = Worksheets(5).Range("D4").Value
Könnt ihr mir weiterhelfen?
Danke!
Paul.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblatt mit vba umbenennen
17.02.2016 19:19:18
ChrisL
Hi Paul
Was klappt nicht?
Geht es dir um das richtige Ereignis?, gemäss Beschreibung ein BeforeClose. Allerdings würde ich ein BeforeSave draus machen, weil Close ohne Save bringt nichts.
Alt+F11, links Doppelklick auf DieseArbeitsmappe, und oben im Dropdown das Ereignis auswählen.
In D4 muss ein gültiger Name sein. Sonderzeichen etc. sind für Blattnamen nicht möglich. Entweder fängst du den Fehler vorne ab z.B. mit einer Gültigkeitsprüfung in der Zelle oder im Code.
http://www.ms-office-forum.net/forum/showthread.php?t=262575
cu
Chris

Anzeige
AW: Arbeitsblatt mit vba umbenennen
17.02.2016 19:42:12
Paul
Also der Code ist korrekt? Mit dem BeforeSave hast Du natürlich recht, das habe ich geändert.
Im Ganzen habe ich jetzt
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
Dim wSheet As Worksheet
For Each wSheet In Worksheets
wSheet.Unprotect Password:="tg"
Next wSheet
ActiveWorkbook.Unprotect Password:="tg"
Worksheets(8).Name = Worksheets(5).Range("D4").Value
For Each wSheet In Worksheets
wSheet.Protect Password:="tg", _
UserInterFaceOnly:=True
Next wSheet
ActiveWorkbook.Protect Password:="tg", _
Structure:=True, Windows:=False
Application.ScreenUpdating = True
End Sub
Er bleibt an "Worksheets(8).Name = Worksheets(5).Range("D4").Value" hängen, obwohl dort ein Name ohne Sonderzeichen ist. Woran könnte es noch liegen?
Danke!
Paul.

Anzeige
AW: Arbeitsblatt mit vba umbenennen
17.02.2016 21:12:56
Piet
Hallo Paul
ich kann auf Anhieb auch keinen Fehler sehen, rate aber zu einer Prüfung
MsgBox Worksheets(5).Name
MsgBox Worksheets(8).Name
erscheint jetzt bei Blatt(5) wirklich der Tabellen-Name den du erwartest?
Ich habe Dateien mit kunterbuntem Durcheinander des Vb-Komponent Index
Da kommt am Anfang auch mal ein Modulblatt anstatt ThisWorkbbok, usw.
ggf. lieber den Tabellen-Namen so angeben "Tabelle5"
mfg Piet

AW: Arbeitsblatt mit vba umbenennen
18.02.2016 14:59:02
Paul
Danke, ich habe den Fehler gefunden. Die Tabellenblätter sind nach Namen sortiert und haben warum auch immer nichts mit der Nummerierung in VBA zu tun. Das verstehe ich zwar nicht wirklich, aber so lange es läuft...
Danke nochmal für eure Hilfe!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige