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

Tabellenblatt automatisch kopieren

Forumthread: Tabellenblatt automatisch kopieren

Tabellenblatt automatisch kopieren
04.09.2007 08:04:35
Martin
Hallo,
ich habe ein Tabellenblatt "Vorlage", in dem Berechnungen durchgeführt werden.
In derselben Datei gibt es ein Tabellenblatt "Mitarbeiter". Dort finden sich in der Spalte A die Namen von Mitarbeitern.
Nun soll per Schaltfläche (im Tabellenblatt Mitarbeiter) die Vorlage kopiert werden und mit dem Namen eines Mitarbeiters umbenannt werden. Das Ganze so oft bis alle Mitarbeiter ein eigenes Tabellenblatt haben.
Falls das Tabellenblatt vorher schon existiert hat, soll es gelöscht werden.
Kenne mich mit VBA so gut wie gar nicht aus. Kann mir jemand helfen?

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt automatisch kopieren
04.09.2007 10:37:00
Martin
Hallo Thorsten,
vielen Dank, funktioniert super und ich konnte den VBA Text auch an die richtige Stelle kopieren, owohl ich mich kaum damit auskenne.
Viele Grüße
Martin
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt automatisch kopieren in Excel


Schritt-für-Schritt-Anleitung

Um ein Excel-Blatt zu duplizieren und automatisch mit den Namen von Mitarbeitern zu benennen, kannst du folgendes VBA-Skript verwenden:

  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 TabellenblattDuplizieren()
       Dim wsVorlage As Worksheet
       Dim wsMitarbeiter As Worksheet
       Dim wsNeuesBlatt As Worksheet
       Dim mitarbeiterName As String
       Dim i As Integer
    
       Set wsVorlage = ThisWorkbook.Sheets("Vorlage")
       Set wsMitarbeiter = ThisWorkbook.Sheets("Mitarbeiter")
    
       For i = 1 To wsMitarbeiter.Cells(wsMitarbeiter.Rows.Count, 1).End(xlUp).Row
           mitarbeiterName = wsMitarbeiter.Cells(i, 1).Value
    
           ' Überprüfen, ob das Blatt bereits existiert und löschen, wenn ja
           On Error Resume Next
           Application.DisplayAlerts = False
           ThisWorkbook.Sheets(mitarbeiterName).Delete
           Application.DisplayAlerts = True
           On Error GoTo 0
    
           ' Duplizieren des Blattes und Umbenennen
           wsVorlage.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
           Set wsNeuesBlatt = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
           wsNeuesBlatt.Name = mitarbeiterName
       Next i
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Um das Skript auszuführen, kannst du eine Schaltfläche in deinem "Mitarbeiter"-Blatt erstellen und das Makro zuweisen.

Mit diesem Skript kannst du die Vorlage automatisch für jeden Mitarbeiter duplizieren und sicherstellen, dass vorherige Blätter gelöscht werden.


Häufige Fehler und Lösungen

  • Fehler: "Blatt existiert bereits"

    • Lösung: Das Skript löscht bereits bestehende Blätter mit dem gleichen Namen, bevor es ein neues Blatt erstellt. Stelle sicher, dass die Namen in der Liste der Mitarbeiter eindeutig sind.
  • Fehler: "VBA-Fehler"

    • Lösung: Überprüfe, ob der VBA-Editor korrekt geöffnet ist und dass der Code in ein neues Modul eingefügt wurde.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du auch die Funktion "Blatt duplizieren" manuell verwenden:

  1. Klicke mit der rechten Maustaste auf das Tabellenblatt "Vorlage".
  2. Wähle "Verschieben oder Kopieren".
  3. Wähle die Option "Kopie erstellen" und benenne das neue Blatt manuell um.

Diese Methode ist jedoch weniger automatisiert und erfordert mehr manuelle Eingaben.


Praktische Beispiele

Angenommen, du hast die folgenden Mitarbeiter in deiner "Mitarbeiter"-Tabelle:

  • Max Müller
  • Anna Schmidt
  • Peter Meier

Nach dem Ausführen des Skripts wird für jeden Mitarbeiter ein neues Blatt erstellt, das auf der Vorlage basiert. Die neuen Blätter heißen dann "Max Müller", "Anna Schmidt" und "Peter Meier".


Tipps für Profis

  • Automatisierung verbessern: Du kannst das Skript erweitern, um spezifische Informationen aus der "Mitarbeiter"-Tabelle zu übernehmen, wie z.B. Abteilung oder Position, und diese Informationen in die neuen Blätter einzufügen.
  • Daten aus einer anderen Tabelle automatisch übernehmen: Wenn du Excel-Daten aus einer anderen Tabelle automatisch übernehmen willst, kannst du das Skript anpassen, um diese Daten einzufügen.

FAQ: Häufige Fragen

1. Wie kann ich das VBA-Skript anpassen, um mehr als nur die Namen zu übernehmen?
Du kannst zusätzliche Variablen im Skript definieren, um weitere Informationen wie Abteilungen zu übernehmen und diese dann in die neuen Blätter einfügen.

2. Funktioniert das Skript in Excel 2016?
Ja, das Skript sollte in Excel 2016 und neueren Versionen problemlos funktionieren. Achte darauf, dass die Blattnamen genau übereinstimmen.

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