25.10.2020, 14:58
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?
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