Excel Worksheet per Makro kopieren?

Von: , 08.03.2011 21:53 Uhr


Ich suche ein Makro, dass das aktuelle Worksheet vollständig kopiert (alle Daten & Formatierungen), welches in der gleichen Datei vor dem zu kopierenden Worksheet erstellt werden soll.
Wenn möglich soll ein Pop-Up Fenster erscheinen, in dem man den Namen des neuen, kopierten Worksheets eingeben kann.

Wie ich das Makro einem Button zuweise weiß ich schon :-)
Danke für Eure Hilfe!

3 Antworten zu dieser Frage

  1. Antwort von nach 51 Minuten 0 hilfreich
    Re: Excel Worksheet per Makro kopieren?

    HALLO WUSELXY
    Schade kann ich dir nicht weiterhelfen.

  2. Antwort von nach einer Stunde 0 hilfreich
    Re: Excel Worksheet per Makro kopieren?

    Hallo wuselxy,

    folgende Funktion sollte dein Problem lösen:

    '---------------------------------------
    Public Sub CopyWorkSheet()

    Dim wsSheetTemp As Worksheet
    Dim strName As String

    'Aktives Sheet kopieren
    ActiveSheet.Select
    ActiveSheet.Copy Before:=Sheets(ActiveSheet.Name)
    'Neues Sheet in Variable speichern
    Set wsSheetTemp = ActiveSheet
    'Name eingeben
    strName = InputBox("Geben Sie den Namen des neuen Sheets ein:", "Eingabe")
    'Dummy-Name setzen, wenn keiner eingegeben wurde
    If strName = "" Then strName = "NeuesSheet"
    'Sheet umbenennen
    wsSheetTemp.Name = strName

    End Sub
    '---------------------------------------

    Einziges Problem, was noch auftreten könnte:
    Sollte 2 Mal kein Name eingegeben werden, wird der Dummy-Name doppelt vergeben und das führt natürlich zu einer Fehlermeldung. Aber das könnte man auch noch lösen, wenn nötig.

    Noch ein kleiner Tipp:
    Solltest du in Excel was in VBA programmieren wollen, was man auch ohne Skript hinbekommt, starte den Makro-Rekorder und nehm die Funktion auf. Dann erhälst du die Funktion in VBA und kannst sie anpassen und optimieren...

    Gruß,
    Vandroy

    • Antwort von nach 22 Stunden 0 hilfreich
      Re^2: Excel Worksheet per Makro kopieren?

      Super, Danke Vandroy... das hat prima funktioniert.
      Den Recorder kenne ich, liefert aber leider nicht immer die gewünschten Ergebnisse.

      Hätte noch eine Aufgabe.. vielleicht kannst Du die auch lösen???

      Ich suche ein Makro, dass immer einen bestimmten Datensatz kopiert. Es soll immer die Daten aus Worksheet “temp” die in Zeile 2 bis Zeile 27 stehen (inkl. Formatierung, Gruppierung etc) in das aktive Worksheet kopieren. Im aktiven Worksheet stehen die letzten Einträge beispielsweise in Zelle B20, dann sollen die neuen Daten immer in B22 kopiert werden. Dies bedeuted man behält die bestehenden Datensätze im aktiven Sheet und kopiert einfach den Datensatz (mit einer Zeile Versatz) aus dem Vorlage-Worksheet unter den letzten Dateneintrag. Ganz wichtig, die Anzahl der Datensätze kann variieren, mal können es z.B. 2 Zeilen sein, mal 3 Zeilen die bereits bestehen:

      Bestehender Eintrag 1a
      Bestehender Eintrag 1b
      (leerzeile)
      Bestehender Eintrag 2a
      Bestehender Eintrag 2b
      Bestehender Eintrag 2c
      (leerzeile)
      Bestehender Eintrag 3a
      Bestehender Eintrag 3b
      (leerzeile)
      Neuer kopierter Eintrag
      Neuer kopierter Eintrag

      Eine Idee?

Jetzt auf diese Frage antworten.