Clever-Excel-Forum

Normale Version: Excel vba Blatt kopieren Code killen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

hänge schon wieder in den Seilen und hoffe auf Eure Hilfe.

Ich möchte aus einer Arbeitsmappe heraus ein Tabellenblatt umkopieren. Ist soweit eigentlich kein Problem.
Es sind auf dem umzukopierenden Blatt aber mehrere CommandButtons und zugehörender vba-Code.

Ich brauche aber nur die Daten und die Formatierung.
Wie kann ich per vba nun das Blatt in eine andere Arbeitsmappe ohne die Commandbuttons und ohne den inkludierten Sourcecode kopieren?

Als Beispiel habe ich hier das Umkopieren-Modul und das Modul für das Löschen der Shapes.
Aber wie bekomme ich das zusammen, dass auch noch der Code gelöscht wird?

Code:
Public Sub CopySheet()
Dim wbkQuelle As Workbook
Dim wbkZiel As Workbook
Dim wksQuelle As Worksheet

Set wbkQuelle = Workbooks("Quelle.xlsm")
Set wbkZiel = Workbooks("Ziel.xlsm")

wksName = ActiveSheet.Name
Set wksQuelle = wbkQuelle.Worksheets(wksName)

wksQuelle.Copy After:=wbkZiel.Sheets(wbkZiel.Sheets.Count)

End Sub

Code:
'Löscht alle Steuerelemente (Buttons) im aktiven Tabellenblatt
Sub Kill_Buttons()
  Dim ws As Worksheet, j As Integer
  Dim btn2
 
  'Alle Buttons löschen
  With ActiveSheet
      For j = .OLEObjects.Count To 1 Step -1
        If .OLEObjects(j).progID = "Forms.CommandButton.1" Then
            .OLEObjects(j).Delete
        End If
      Next
  End With
 
  'Alle Toggekbuttons löschen
  For Each btn2 In ActiveSheet.Shapes
      If btn2.Name Like "ToggleButton*" Then
        btn2.Delete
      End If
  Next btn2
End Sub
vielleicht kopierst du nicht das ganze Blatt ,sondern nur den Datenbereich in ein neues , leeres Blatt.
Hallo Ralf,

danke für die Idee.

Ist eine Möglichkeit möchte es aber trotzdem auf die andere Weise versuchen.