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

Kopieren und Umbenennen von Arbeitsblättern

Kopieren und Umbenennen von Arbeitsblättern
16.12.2016 11:04:49
Arbeitsblättern
Hallo,
ich habe ein kleines Problem mit einer meiner Arbeitsmappen. Das Problem ist folgendes:
Ich möchte gerne per VBA ein vorgegebenes Muster-Arbeitsblatt kopieren und umbenennen. Dabei soll der neue Name den Namen des Datums enthalten, zu dem die Auswertungen auf dem Arbeitsblatt erzeugt wurden. Meine Lösung bisher:
    wks_muster.Copy After:=wks_muster
Set wks_neu = Worksheets(wks_muster.Index + 1)
wks_neu.name = (Datum & " Auswertungsname")

Das Problem ist, dass das Kopieren nicht wirklich funktioniert. Ich rufe über ein anderes Makro eine Vielzahl von Auswertungen auf, die nacheinander erzeugt werden sollen. Alle nach dem gleichen Schema. Problem ist, dass das Kopieren zwar funktioniert, das Umbenennen aber nicht wirklich. Es werden oft andere Arbeitsblätter umbenannt und das bringt mir dann meine ganze Arbeitsmappe durcheinander. Ich glaube, dass das Problem in der 2. Zeile liegt.
Vielleicht hat ja jemand eine Idee, wie ich das Problem lösen kann.
Die Datei kann ich leider nicht zur Verfügung stellen, da sie sensible Kundendaten enthält. Sie besteht aus mehreren (ca. 30) Muster-Tabellenblättern, auf deren Basis für jeden beliebigen Tag eine Auswertung erzeugt werden kann. Dazu werden nur einige wenige Werte auf dem kopierten Muster angepasst.
Vielen dank schon mal für die Hilfe.
Liebe Grüße,
Andi

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren und Umbenennen von Arbeitsblättern
16.12.2016 11:30:39
Arbeitsblättern

set wks_neu = activeworksheet

Da das kopierte Worksheet akltiviert wird (mindestens wenn echo on ist)
Als Index müsstest Du den höchsten Index nehmen, da das Worksheet angehängt wird. Die Indizes sind nur nach dem Öffnen einer datei in der Reihenfolge wie die Tabs angezeigt werden.
AW: Kopieren und Umbenennen von Arbeitsblättern
16.12.2016 11:35:23
Arbeitsblättern
Vielen Dank für die schnelle Antwort. Das ScreenUpdating ist leider ausgeschaltet, da hintereinander ca. 30 Tabellenblätter erzeugt werden und damit alles flüssig läuft, habe ich es ausgeschaltet. Ohne ScreenUpdating funktioniert die Methode mit ActiveSheet nicht, oder? Zumindest hatte ich diese Lösung auch schon mal versucht und wieder verworfen, da sie ebenfalls Fehler produziert hat.
Dass die Indizes nur beim Öffnen in der Reihenfolge sind, könnte ein Grund sein, warum es nicht funktioniert. Das war mir ehrlich gesagt neu.
Gibt es noch eine andere Lösung, ohne dass ich ScreenUpdating einschalten muss? Kann man das Problem mit den Indizes irgendwie umgehen?
Anzeige
AW: Kopieren und Umbenennen von Arbeitsblättern
16.12.2016 11:41:06
Arbeitsblättern
es müsste der index ActiveWorkbook.Sheets.Count funktionieren
AW: Kopieren und Umbenennen von Arbeitsblättern
16.12.2016 14:04:51
Arbeitsblättern
Ich habe es jetzt mit folgendem Code versucht und es funktioniert leider nicht. Es wird immer ein falsches Tabellenblatt umbenannt. wks_neu wird also immer noch nicht richtig gesetzt.
wks_muster.Copy After:=Sheets(Sheets.Count)
Set wks_neu = Sheets(Sheets.Count)
wks_neu.name = (Datum & " Auswertungsname")

AW: Probier mal
16.12.2016 14:30:18
hary
Moin
Probier mal so.
wks_muster.Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = (Datum & " Auswertungsname")

Wobei das Leerzeichen ein Sonderzeichen ist und es dadurch durch VBA zu Fehlern kommen koennte.
Man sollte statt Leerzeichen den Unterstrich waehlen.
gruss hary
Anzeige
AW: Probier mal
16.12.2016 15:11:02
Andi
Danke, aber leider bleibt es immer noch erfolglos.
Er benennt dann das ActiveSheet um, was interessanterweise ein Arbeitsblatt ist, das überhaupt nichts mit dem ganzen Kopier-Prozess zu tun hat und auch vorher nicht aktiviert war.
AW: Probier mal
16.12.2016 15:46:16
guenni
Hallo,
habe jetzt ein bisschen getestet, und da hat es so ausgesehen als ob der allererste Code von Andi funktionieren müsste. Fazit: mit den Indizes geht's nicht zuverlässig.
beiben noch die Namen.
hier wird ja entweder ein "(2)" angehängt, oder wenn das vorhanden ist, die zahl hochgezählt.
wenn es also zu Deinem Muster keine "(2)" gibt ginge vielleicht
wks_neu=sheets(wks_muster.name & "(2)")

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige