Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - Blatt x mal kopieren, umbenennen, ausfüllen

VBA - Blatt x mal kopieren, umbenennen, ausfüllen
Wurstmensch
Hallo zusammen,
ich habe folgendes Problem:
In meinem Blatt "!!Steuerung!" befindet sich von C26 bis C36 (also max. 10 Einträge) eine Liste (keine Listbox, einfache, normale Zellen) mit Namen für neu anzulegende Arbeitsblätter. Ich möchte nun, dass für jeden Eintrag in der Liste eine Kopie des Blattes "!Vorlage!" erstellen und diese Kopie soll dann den Namen aus der Liste erhalten. Außerdem soll der Name in der Kopie in die Zelle A11 geschrieben werden.
Beispiel:
In meiner Liste, die 5 Elemente hat, stehen die Einträge: Haus, Oma, Hund, Katze, Auto. Nun soll das Blatt "!Vorlage!" 5 x kopiert werden, wobei die erste Kopie den Blattnamen "Haus" hat und in Zelle A11 dieser Kopie auch "Haus" steht.
Ich habe mir ein bisschen Code zusammengekrebst, der mir neue Blätter mit von mir gewählten Namen erstellt, aber ein Blatt zu kopieren und A11 zu füllen, habe ich noch nicht hinbekommen.
Ich hoffe ihr könnt mir weiterhelfen.
Gruß
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA - Blatt x mal kopieren, umbenennen, ausfüllen
16.09.2011 12:36:40
Rudi
Hallo,
von C26 bis C36 (also max. 10 Einträge)
das sind 11!

Sub kopieren()
Dim rngC As Range
Application.ScreenUpdating = False
For Each rngC In Sheets("Steuerung").Range("C26:C36")
If rngC  "" Then
Sheets("vorlage").Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = rngC
.Range("A11") = rngC
End With
End If
Next
End Sub

Gruß
Rudi
Anzeige
AW: VBA - Blatt x mal kopieren, umbenennen, ausfüllen
16.09.2011 13:27:17
Wurstmensch
Hallo Rudi,
vielen Dank erst einmal für deine schnelle Hilfe. Habe deine Lösung meinen Bedürfnissen angepasst und sie funktioniert tadellos! Ich freue mich, dass ich dank dir endlich die Tabelle komplett automatisieren konnte.
Ein paar kleine Anmerkungen habe ich aber doch noch.
  • das sind 11!

  • In meinem aus div. Foren zusammengekrebsten Code war das so gelöst:
    
    Set Bereich = Range("C26:C" & Range("C36").End(xlUp).Row)
    Effektiv hat er also bei C35 aufgehört und ich habe einfach nicht dran gedacht, es fürs Forum hier umzuformulieren.
  • Ich hatte mich zuerst gewundert, dass die kopierten Tabellen nicht da waren und dachte, dein Code klappt nicht. Aber die so kopierten Tabellen sind -warum auch immer- standardmässig ausgeblendet. Erst dachte ich, das fehlende application.screenupdating = true wäre schuld, aber selbst nachdem ich das hinzugefügt hatte, ging es noch nicht. Ich habe mir dann beholfen, indem ich jede neu kopierte Tabelle per .Visible = xlsheetvisible sichtbar mache

  • Der Vollständigkeit (und evtl. Suchmaschinen-Crawler) halber hier der für mich einwandfrei funktionierende Code:
    
    Sub kopieren()
    Dim rngC As Range
    Application.ScreenUpdating = False
    For Each rngC In Sheets("!!Steuerung").Range("C26:C36")
    If rngC  "" Then
    Sheets("!vorlage!").Copy after:=Sheets(Sheets.Count)
    With ActiveSheet
    .Name = rngC
    .Range("A11") = rngC
    .Visible = xlSheetVisible
    End With
    End If
    Next
    Application.ScreenUpdating = True
    End Sub

  • Alleine hätte ich das aber trotzdem niemals hinbekommen, nochmal ein großes Dankeschön an dich, Rudi!
    Anzeige
    AW: VBA - Blatt x mal kopieren, umbenennen, ausfüllen
    19.09.2011 11:36:51
    Wurstmensch
    Kleiner Nachtrag noch von mir: Wenn man zu viele Kopien eines Blatts erstellen lassen will, bricht Excel mit der Fehlernummer 1004 ab. Was genau "zuviel" heißt, hängt von der Blattgröße ab. Bei mir waren es 30 Kopien, aber der 31. hat Excel gestreikt. Nicht verzweifeln, ich habe dann herausgefunden, dass das ein bekannter Bug ist. Abhilfe schafft ein Speichern&Schließen und anschließendes neues Öffnen der Mappe.
    Mehr Informationen zum Bug hier: http://support.microsoft.com/default.aspx?scid=kb;en-us;210684&Product=xlw
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige
    Anzeige
    Anzeige

    Infobox / Tutorial

    Excel VBA: Blätter mehrfach kopieren, umbenennen und ausfüllen


    Schritt-für-Schritt-Anleitung

    Um in Excel ein Arbeitsblatt mehrfach zu kopieren, umbenennen und ausfüllen, kannst Du das folgende VBA-Skript verwenden. Das Skript nimmt die Namen aus dem Bereich C26:C36 des Blattes "!!Steuerung!" und erstellt für jeden Eintrag eine Kopie des Blattes "!Vorlage!". Diese Kopien werden dann umbenannt und der Name wird in die Zelle A11 geschrieben.

    1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
    2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
    3. Kopiere den folgenden Code in das Modul:
    Sub kopieren()
        Dim rngC As Range
        Application.ScreenUpdating = False
        For Each rngC In Sheets("!!Steuerung").Range("C26:C36")
            If rngC <> "" Then
                Sheets("!vorlage!").Copy after:=Sheets(Sheets.Count)
                With ActiveSheet
                    .Name = rngC
                    .Range("A11") = rngC
                    .Visible = xlSheetVisible
                End With
            End If
        Next
        Application.ScreenUpdating = True
    End Sub
    1. Schließe den VBA-Editor und kehre zu Excel zurück.
    2. Führe das Makro aus, indem Du auf Entwicklertools > Makros klickst und das Makro kopieren auswählst.

    Häufige Fehler und Lösungen

    • Fehlernummer 1004: Dieser Fehler tritt auf, wenn Du versuchst, zu viele Blätter in einer Arbeitsmappe zu erstellen. Die maximale Anzahl an Blättern hängt von der Größe der Blätter ab. Eine Lösung ist es, die Arbeitsmappe zu speichern und zu schließen, bevor Du es erneut versuchst.

    • Kopierte Blätter sind ausgeblendet: Wenn die kopierten Blätter nicht sichtbar sind, stelle sicher, dass Du ActiveSheet.Visible = xlSheetVisible im Code hast, um die Sichtbarkeit sicherzustellen.


    Alternative Methoden

    Wenn Du die Blätter nicht via VBA, sondern direkt in Excel kopieren möchtest, kannst Du die folgenden Schritte ausführen:

    1. Wähle das Blatt, das Du kopieren möchtest.
    2. Halte die Strg-Taste gedrückt und ziehe das Blatt auf die gewünschte Position.
    3. Das Blatt wird in der gewünschten Position als Kopie erstellt. Du kannst den Namen manuell ändern.

    Praktische Beispiele

    Angenommen, Du hast in Deinem Steuerungsblatt die Namen "Hund", "Katze", "Haus" und "Auto". Wenn Du den obigen Code ausführst, werden für diese vier Namen jeweils ein neues Blatt erstellt und in Zelle A11 wird der entsprechende Name eingetragen. So hast Du schnell und effektiv Deine Excel-Tabelle mehrfach kopiert und ausgefüllt.


    Tipps für Profis

    • Überprüfe immer, ob die Blätter, die Du kopierst, nicht bereits existieren. Du kannst dies durch eine einfache If-Bedingung im Code machen.
    • Verwende Application.DisplayAlerts = False, um die Bestätigungsdialoge beim Umbenennen von Blättern zu deaktivieren.
    • Teste den Code z.B. mit einer kleinen Anzahl von Blättern, bevor Du ihn auf größere Datenmengen anwendest.

    FAQ: Häufige Fragen

    1. Wie viele Blätter kann ich maximal in Excel erstellen?
    Die maximale Anzahl an Blättern in einer Excel-Arbeitsmappe hängt von der Größe der Blätter ab. In der Regel können mehrere hundert bis tausend Blätter erstellt werden, solange der Speicherplatz es zulässt.

    2. Was passiert, wenn ich einen bestehenden Blattnamen verwenden möchte?
    Wenn Du versuchst, einen existierenden Blattnamen zu verwenden, wird Excel einen Fehler ausgeben. Du solltest sicherstellen, dass die Namen, die Du verwendest, eindeutig sind.

    3. Kann ich den Code anpassen, um andere Zellen zu befüllen?
    Ja, Du kannst die Zelle, die im Code beschrieben ist (.Range("A11")), anpassen, um andere Zellen in den kopierten Blättern zu befüllen.

    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