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

Forumthread: Tab-Blatt kopieren und am Ende einfügen - Abbruch

Tab-Blatt kopieren und am Ende einfügen - Abbruch
31.08.2005 15:28:19
beckersbest
Hallo Experten,
langsam weiß ich einfach nicht mehr weiter. Ich habe ein Makro, welches ein bestimmtes Tabellenblatt je nach Auswahl mehrmals kopiert und am Ende einfügt. Soweit so gut, zumindest funktioniert es grundsätzlich problemlos.
Allerdings - und zwar nach genau 47 Mal - hängt sich die Wiederholungsschleife auf. Und ich weiß einfach nicht warum. Sollte ich also z.B. das Makro nur einmal für 50 zu kopierende und am Ende einzufügende Blätter aufrufen oder das Makro zwei Mal mit z.B. 25 und 28 Kopiervorgängen, jedes Mal kommt diese Fehlermeldung (nach in Summe 47 Durchläufen):
Laufzeitfehler '1004': Die Copy-Methode des Worksheet-Objektes konnte nicht ausgeführt werden.
Dabei sieht der relevante Teil des Makros wie folgt aus:
For x = 1 to auswahl
neues_Blatt = Worksheets.Count + 1
Sheets("Quellblatt").Copy after:=Worksheets(Worksheets.Count)
Sheets(neues_Blatt).Name = "Testblatt" & x
'Quelldatenblatt manipulieren ...
Next
Der Debugger verweist auf die Zeile mit ...Copy after:= ...
Woran kann das liegen? An der Quelldatenblatt-Manipulation ja schließlich nicht, da diese z.B. im ersten Durchlauf funktioniert (die Manipulation ist übrigens recht umfangreich). Auch ist es später nicht einmal mehr möglich, manuell per Blattauswahl - Rechtsklick und Kopieren... das Quelldatenblatt zu kopieren und am Ende einzufügen. Erst, wenn Excel komplett geschlossen und neu gestartet wird, funktioniert alles wieder bis zur besagten Stelle.
Mir erscheint hier ein Speicherüberlauf - in welcher Form auch immer - in Frage zu kommen. Kann das jemand bestätigen? Wenn ja, was ist zu tun?
Vielen Dank schon jetzt,
mit freundlichen Grüßen
Thorsten
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tab-Blatt kopieren und am Ende einfügen - Abbruch
31.08.2005 15:53:50
Manfred
Versuch doch mal folgenden Code
For i = 1 To 50
Sheets("Tabelle1").Select
Sheets("Tabelle1").Copy After:=Sheets(Worksheets.Count)
ActiveSheet.Name = "Testblatt" & i
Next
gruß Manfred
AW: Tab-Blatt kopieren und am Ende einfügen - Abbr
31.08.2005 15:59:44
beckersbest
Hallo Manfred,
bringt leider keine Verbesserung :-(
Vielleicht noch weitere Vorschläge ?
Viele Grüße
Thorsten
Anzeige
AW: Tab-Blatt kopieren und am Ende einfügen - Abbr
31.08.2005 16:24:33
Manfred
Hallo Thorsten,
Der gegebene Code geht in jedem Fall mit leeren Tabellenblättern. Habe es bis 100 ausprobiert.
Bei gefüllten Blättern mit diversen Formaten ist es sicherlich sinnvoll nach jeder
Kopie die ganze Datei zu speichern.
Gruß Manfred
AW: Tab-Blatt kopieren und am Ende einfügen - Abbr
31.08.2005 16:28:54
beckersbest
Hallo Manfred,
bei dem angegebenen Code gebe ich Dir vollkommen Recht, da hab' ich's auch bis 100 probiert, kein Problem. Darum hab ich auch noch den Hinweis auf die umfangreichen Manipulationen gegeben, allerdings liegt es wohl eher am zu kopierenden Inhalt und weniger an den späteren Manipulationen.
Leider reicht einfaches Abspeichern nicht aus, die Datei muss schon geschlossen werden. Das macht es leider unmöglich, das Makro in der "Problem"-Datei zu hinterlegen ...
Viele Grüße
Thorsten
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tab-Blatt kopieren und am Ende einfügen in Excel


Schritt-für-Schritt-Anleitung

Um ein Excel-Tabellenblatt zu kopieren und am Ende einzufügen, kannst Du folgendes VBA-Makro verwenden:

Sub CopyTabAtEnd()
    Dim i As Integer
    For i = 1 To 50
        Sheets("Quellblatt").Copy After:=Sheets(Sheets.Count)
        ActiveSheet.Name = "Testblatt" & i
    Next i
End Sub

In diesem Makro wird das Tabellenblatt "Quellblatt" 50 Mal kopiert. Das neue Blatt wird am Ende der bestehenden Blätter eingefügt. Achte darauf, dass der Name des neuen Blatts einzigartig ist, um Fehler zu vermeiden.


Häufige Fehler und Lösungen

Fehler: Laufzeitfehler '1004'
Dieser Fehler tritt auf, wenn das Kopieren des Blattes nicht möglich ist, oft nach mehreren Kopiervorgängen. Mögliche Lösungen sind:

  1. Speichere die Datei regelmäßig. Wenn Du viele Blätter kopierst, kann Excel an seine Speichergrenzen stoßen. Speichere die Datei nach einer bestimmten Anzahl von Kopiervorgängen.

  2. Schließe und öffne Excel. Manchmal kann ein Neustart von Excel helfen, um temporäre Speicherprobleme zu lösen.

  3. Vermeide leere Blätter. Bei gefüllten Blättern funktioniert das Kopieren in der Regel besser. Teste den Code mit leeren Blättern.


Alternative Methoden

Wenn das Kopieren eines Blatts nicht möglich ist, kannst Du folgende Alternativen nutzen:

  • Manuelles Kopieren: Rechtsklick auf den Tab und "Kopieren" wählen. Anschließend das Zielblatt auswählen und "Einfügen" klicken.

  • Excel-Formeln: Wenn Du nur Daten übertragen möchtest, kannst Du die Inhalte mithilfe von Formeln oder durch "Kopieren und Einfügen" übertragen.


Praktische Beispiele

Hier sind einige praktische Anwendungen des VBA-Codes:

  1. Kopieren von Berichten: Wenn Du regelmäßig Berichte erstellen musst, kannst Du das Makro anpassen, um unterschiedliche Blätter zu kopieren und sie in einer neuen Datei zu speichern.

  2. Einstellen von Datenformaten: Stelle sicher, dass die Formatierungen der kopierten Blätter konsistent bleiben, indem Du das Format im Code angibst.

ActiveSheet.Cells.Copy
Worksheets("Zielblatt").Cells.PasteSpecial Paste:=xlPasteAll

Tipps für Profis

  • Verwende Variablen: Um den Code flexibler zu gestalten, definiere Variablen für die Quell- und Zielblätter.

  • Fehlerbehandlung einfügen: Implementiere eine Fehlerbehandlung mit On Error Resume Next, um den Code robuster zu machen.

  • Automatisierung: Wenn Du häufig Blätter kopieren und einfügen musst, überlege, ob Du das gesamte Verfahren automatisieren kannst, um Zeit zu sparen.


FAQ: Häufige Fragen

1. Warum kann ich mein Excel-Blatt nicht kopieren?
Das kann mehrere Ursachen haben, wie z.B. zu wenig Speicher oder dass das Blatt gesperrt ist. Stelle sicher, dass Du keine geschützten Blätter bearbeitest.

2. Gibt es eine maximale Anzahl an Blättern in Excel?
Ja, die maximale Anzahl an Blättern ist theoretisch unbegrenzt, jedoch durch den verfügbaren Speicher deines Systems begrenzt.

3. Wie kann ich ein neues Tabellenblatt am Ende einfügen?
Nutze den Befehl Sheets.Add After:=Sheets(Sheets.Count) um ein neues Blatt am Ende der Liste einzufügen.

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